Board logo

标题: [文件操作] BAT求助,在文件夹内有JPG文件多个和一个空文件夹,想把里边的JPG文件放入空文件夹内 [打印本页]

作者: lxch5434    时间: 2017-2-18 19:53     标题: BAT求助,在文件夹内有JPG文件多个和一个空文件夹,想把里边的JPG文件放入空文件夹内

BAT求助,在文件夹内有JPG文件多个和一个空文件夹,想把里边的JPG文件放入空文件夹内,这样的文件夹有上千个。感谢各位指点
作者: lxch5434    时间: 2017-2-18 20:45

有没有大神帮忙下 不胜感激
作者: techon    时间: 2017-2-18 21:18

问题不够具体,描述也没有例子

大概思路:
1、for遍历包含jpg文件的目录;
2、move移动jpg文件到目标目录

需要考虑的是如何获取目标目录
作者: taofan712    时间: 2017-2-18 21:34

回复 1# lxch5434


    这一千多个文件夹是否在同一个目录?
    这些文件夹下是否除了jpg图片之外就只有唯一一个空文件夹?
作者: liero1982    时间: 2017-2-19 19:21

假设你的jpg所在目录为A001~A100(他们内有若干jpg文件,和唯一的空文件夹),他们放在D:\ds下。
在D:\ds目录下编写如下bat并运行

FOR /F "delims==" %%i IN ('dir /b *.') DO (
cd "%%i"
dir /b *. > empdir.txt
set /p d= < empdir.txt
move *.jpg %d%\
del empdir.txt
cd ..
)
作者: GNU    时间: 2017-2-20 20:56

回复 5# liero1982


    用临时文件可能效率比较低,用 for /f + dir 获取文件夹名称估计能快点。
作者: lxch5434    时间: 2017-2-20 22:21

这是别人给写的 就是要这个功能6楼朋友的没有试
@echo off&setlocal enabledelayedexpansion
cd /d "%~dp0"
for /f "delims=" %%a in ('dir /b/ad *') do (
  cd /d "%~dp0%%a"
  for /f "delims=" %%b in ('dir /b/ad *') do set "_folder=%%b"
  move /y *.jpg "%~dp0%%a\!_folder!"
  cd /d "%~dp0"
)
exit
我不懂代码 各位赐教
作者: lxch5434    时间: 2017-2-20 22:24

回复 4# taofan712


    都在一个目录,文件夹有一个,只有jpg,做地籍调查一个测区万把个文件夹 代码朋友写的 我外行
作者: lxch5434    时间: 2017-2-20 22:28

回复 5# liero1982


    试试你的看看可以达到一样效果不
作者: lxch5434    时间: 2017-2-20 22:29

回复 5# liero1982


    试试你的看可以达到同样效果不
作者: GNU    时间: 2017-2-20 22:43

回复 7# lxch5434


    dir /b/ad * 这里的星号可以省略
作者: taofan712    时间: 2017-2-21 10:40

回复 8# lxch5434
  1. @echo off
  2. for /f "delims=" %%a in ('dir /ad /b') do (
  3. pushd "%%~a"
  4. for /f "delims=" %%b in ('dir /ad /b') do (
  5. move  /y *.jpg "%%~b\"
  6. )
  7. popd
  8. )
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2