比如我 bat 脚本所在目录下面有 100 个 txt ,但是这 100 个 txt 的名字是乱七八糟的,我现在想实现把这 100 个 txt 按照从 1 到 100 的顺序给重命名,类似这样:
title-1.txt
title-2.txt
title-3.txt
.............
title-100.txt
我自己稍微写了下, 不知道怎么得到这个目录下面有多少个 txt ,求大神。 这是我自己做的:
@echo off
set sum=0
set current_dir=%cd%
for /F "tokens=*" %%a in ('dir %current_dir% /b/s/a-d') do (
%%sum=%%sum+1
ren %%a 'aaa-%%sum.txt'
)
找大神请教了下,简单修改了,不过这个好像文件名有空格实现不了
@echo off &Setlocal enabledelayedexpansion
set a=1
for /f %%i in ('dir /b /a-d *.txt') do (
ren "%%i" "ba-!a!.txt"&set /a a=!a!+1
)
pause
完美
@echo off &Setlocal enabledelayedexpansion
set a=1
for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
ren "%%i" "ba-!a!.txt"&set /a a=!a!+1
)
1
Kantoi 2017-03-04 10:31:56 +08:00
用 phython 可能会很简单:
import glob,os,string def rename_files(): file_list = os.listdir(r"/Users/Kantoi/Desktop/yourFolder") saved_path = os.getcwd() os.chdir(r"/Users/Kantoi/Desktop/yourFolder") for file_name in file_list: os.rename(file_name,"target name") rename_files() |
2
3132702442 OP 因为我是 windows ,这样 bat 比较方便,不然我也可以写 php ,免得每次配置环境, bat 放进去点一下就可以了
|
3
3132702442 OP 大婶大婶大婶大婶大婶
|