|
|
请问,如何移动指定文件夹内所有文件到指定目录,并重命名?
其实我已经实现了部分功能,但是有个问题就是特殊文件夹名和特殊文件名。
如果要移动的路径或文件名包含特殊字符,怎么移动?
比如,要移动 C:\aaa b!bb\h^e12 0~%l%!p!@. s321-文件.txt 到 C:\bbb\ 中然后重命名成a10001.txt
下面是我的基本功能的代码,在这基础上怎么修改,才能实现这些功能?- @echo off
- setlocal enabledelayedexpansion
- set /p aaa=请输入要移动的文件路径 :
- set /p bbb=请输入文件类型(后缀名:"如 jpg txt * ...") :
- set /p ttt=请输入目标路径 :
- set /p nnn=请输入重命名的最大文件个数(100 1000 ...) :
- set /p fff=请输入重命名的名称前字符,没有则不输("如:a ==> a***.***") :
- set /p FLG=确认执行移动?(Y/N)
- set num=%nnn%
- IF /I %FLG% EQU Y (
- @echo 处理中,请等待...
- for /r "%aaa%" %%a in ("*.%bbb%") do (
- set /a num+=1
- if "%bbb%"=="*" (
- move /-y "%%a" "%ttt%\%fff%!num!%%~xa"
- ) else (
- move /-y "%%a" "%ttt%\%fff%!num!.%bbb%"
- )
- )
- )
- @echo 移动完毕
- pause
复制代码 代码说明:输入要移动的文件夹路径(包括子文件夹中的内容)和文件类型,输入目标文件夹,输入重命名的文件规则(a10001 a10002....),执行后,会把所有文件移动,并按照名称前字符+数字的规则重命名。
以上的代码不能实现含有特俗字符的文件夹和文件的移动,请帮忙修改一下,谢谢了!
[ 本帖最后由 greatwjl 于 2010-3-29 15:48 编辑 ] |
|