[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] BAT求助,在文件夹内有JPG文件多个和一个空文件夹,想把里边的JPG文件放入空文件夹内

BAT求助,在文件夹内有JPG文件多个和一个空文件夹,想把里边的JPG文件放入空文件夹内,这样的文件夹有上千个。感谢各位指点

有没有大神帮忙下 不胜感激

TOP

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

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

需要考虑的是如何获取目标目录
解释执行的脚本语言与编译语言还是有很大差别的。。。

TOP

回复 1# lxch5434


    这一千多个文件夹是否在同一个目录?
    这些文件夹下是否除了jpg图片之外就只有唯一一个空文件夹?

TOP

假设你的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 ..
)

TOP

回复 5# liero1982


    用临时文件可能效率比较低,用 for /f + dir 获取文件夹名称估计能快点。

TOP

这是别人给写的 就是要这个功能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
我不懂代码 各位赐教

TOP

回复 4# taofan712


    都在一个目录,文件夹有一个,只有jpg,做地籍调查一个测区万把个文件夹 代码朋友写的 我外行

TOP

回复 5# liero1982


    试试你的看看可以达到一样效果不

TOP

回复 5# liero1982


    试试你的看可以达到同样效果不

TOP

回复 7# lxch5434


    dir /b/ad * 这里的星号可以省略

TOP

回复 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. )
复制代码

TOP

返回列表