无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3589|回复: 5
打印 上一主题 下一主题

[求助] 请教: 批处理移所有文件夹及文件夹内的图片

[复制链接]
跳转到指定楼层
1#
发表于 2015-8-14 10:57:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教:

例如C:\1内有X.txt, Rename.bat, Move.bat很多文件, 和很多文件夹, 文件夹里都有图片.
如何可运行Move.bat, 只将所有文件夹连图片, 移到C:\2, 如有相同名的文件夹或图片则覆盖, 完成后自动关闭cmd界面.

谢谢.
2#
发表于 2015-8-14 18:10:27 | 只看该作者
:Move.bat 代码开始-------------------------------------
@echo off
setlocal enabledelayedexpansion
del /q /f %temp%\2.bat
del /q /f %temp%\*.txt
for /f "delims=" %%i in ('dir /s/b/ad') do (
if exist %%i\*.jpg echo %%i>>%temp%\md.txt
if exist %%i\*.bmp echo %%i>>%temp%\md.txt
if exist %%i\*.gif echo %%i>>%temp%\md.txt
)
for /f "delims=" %%a in (%temp%\md.txt) do (
set num=%%a
set var=!num:~5!
echo.md c:\2\!var!>>%temp%\2.bat
)


dir /s/b/a-d *.jpg;*.bmp;gif>%temp%\a.txt
for /f "delims=" %%a in (%temp%\a.txt) do (
set num=%%a
set var=!num:~5!
echo.move /y c:\1\!var! c:\2\!var!>>%temp%\2.bat
)
%temp%\2.bat
del /q /f %temp%\2.bat
del /q /f %temp%\*.txt
:Move.bat 代码结束-------------------------------------

点评

谢谢. 我试用了, 但c:\1内会留下空的文件夹, 我需要把文件夹也移到C:\2  详情 回复 发表于 2015-8-16 06:45
回复

使用道具 举报

3#
 楼主| 发表于 2015-8-16 06:45:46 | 只看该作者
2012duanyongli 发表于 2015-8-14 18:10
:Move.bat 代码开始-------------------------------------
@echo off
setlocal enabledelayedexpansion
...

谢谢. 我试用了, 但c:\1内会留下空的文件夹, 我需要把文件夹也移到C:\2
回复

使用道具 举报

4#
发表于 2015-8-17 19:17:09 | 只看该作者
本帖最后由 2012duanyongli 于 2015-8-17 19:21 编辑

:Move.bat 代码开始-------------------------------------
@echo off
setlocal enabledelayedexpansion
del /q /f %temp%\2.bat
del /q /f %temp%\3.bat
del /q /f %temp%\*.txt
for /f "delims=" %%i in ('dir /s/b/ad') do (
if exist "%%i\*.jpg" echo %%i>>%temp%\md.txt
if exist "%%i\*.bmp" echo %%i>>%temp%\md.txt
if exist "%%i\*.gif" echo %%i>>%temp%\md.txt
echo if not exist "%%i\*" rd /s /q "%%i">>%temp%\3.bat
)
for /f "delims=" %%a in (%temp%\md.txt) do (
set num=%%a
set var=!num:~5!
echo.md "c:\2\!var!">>%temp%\2.bat
)


dir /s/b/a-d *.jpg;*.bmp;gif>%temp%\a.txt
for /f "delims=" %%a in (%temp%\a.txt) do (
set num=%%a
set var=!num:~5!
echo.move /y "c:\1\!var!" "c:\2\!var!">>%temp%\2.bat
)
%temp%\2.bat
%temp%\3.bat
del /q /f %temp%\2.bat
del /q /f %temp%\3.bat
del /q /f %temp%\*.txt
:Move.bat 代码结束-------------------------------------

点评

谢谢......  详情 回复 发表于 2015-8-22 21:18
谢谢......  详情 回复 发表于 2015-8-22 21:18
回复

使用道具 举报

5#
 楼主| 发表于 2015-8-22 21:18:10 | 只看该作者
2012duanyongli 发表于 2015-8-17 19:17
:Move.bat 代码开始-------------------------------------
@echo off
setlocal enabledelayedexpansion ...

谢谢......
回复

使用道具 举报

6#
 楼主| 发表于 2015-8-22 21:18:12 | 只看该作者
2012duanyongli 发表于 2015-8-17 19:17
:Move.bat 代码开始-------------------------------------
@echo off
setlocal enabledelayedexpansion ...

谢谢......
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-17 08:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表