本帖最后由 pcl_test 于 2016-7-4 10:34 编辑
[新手现丑了,如有不足,还请指点]
对应表格: list.txt(,前面为旧名,后面为新名称)
(实际上是无数个文本)
111111,32srfsdfa
222222,dff3afsaf
33333,rg4xvdzv
444444,wew34fsd
5555555,rtgfgxfbgd
当前文件夹有如下文本,需要依照以上对应表自动改名。
(实际上是无数个文本)
111111.txt
222222.txt
33333.txt
444444.txt
5555555.txt
[原创代码]:- @echo off
- echo ---------------------------------
- echo REPLACE ALL THE FILE NAMEs by LIST.TXT
- echo The format of LIST.TXT should be below;
- echo Old Name,New Name
- echo ---by S.J a freshman of programmer
- echo ---------------------------------
- echo Press [y] and Enter key to backup the files before replacing.
- echo Press [n] and Enter key If you want to replace without backup.
- echo Yes or no?
-
- set "listfile=list.txt"
- for /f "tokens=2 delims==" %%i in ('wmic path win32_operatingsystem get LocalDateTime /value ^| find "="') do set datetime=%%i
- set now=%datetime:~,14%
- set input=
- set /p input=Please enter your choice[y/n]:
- :: Rename .txt and.pkg files
- for /f "tokens=1,2 delims=," %%i in ('type "%listfile%"') do (
- if not exist "%%i.txt" (
- if not exist Log_%now%.txt echo;non-existent files:>Log_%now%.txt
- >>Log_%now%.txt echo;%%i_%%j
- ) else (
- if /i "%input%"=="y" (
- md Backup%now%\ 2>nul
- copy "%%i.txt" Backup%now%\
- )
- ren "%%i.txt" "%%j.txt"
- )
- )
- cls
- if exist Log_%now%.txt type Log_%now%.txt
- pause
复制代码 [具体说明]:
1.刚开始按[y] enter key 可以备份原来的所有的txt文本
(自动创建文件夹Backup20160628123320)
2. 对应表里面,没有更改到的文件,会以类似Log_20160628123320.txt档来记录。 |