Command line 在命令提示下按顺序重命名多个文件
我有一些不同名字的文件 Leviathan.txt、Dragon.txt等 我想把它变成一个数字 1.txt、2.txt、3.txt、4.txt等 如何像其他语言一样使用For和函数传递文件夹中的文件数量 到目前为止,我知道的代码是dir和ren。我现在卡住了Command line 在命令提示下按顺序重命名多个文件,command-line,command-prompt,Command Line,Command Prompt,我有一些不同名字的文件 Leviathan.txt、Dragon.txt等 我想把它变成一个数字 1.txt、2.txt、3.txt、4.txt等 如何像其他语言一样使用For和函数传递文件夹中的文件数量 到目前为止,我知道的代码是dir和ren。我现在卡住了 ren *.txt 1.txt 下一个代码片段可能适合您(使用.bat扩展名保存);请注意,rename命令仅用于调试目的: @echo off SETLOCAL enableextensions enabledelayedexpans
ren *.txt 1.txt
下一个代码片段可能适合您(使用
.bat
扩展名保存);请注意,rename
命令仅用于调试目的:
@echo off
SETLOCAL enableextensions enabledelayedexpansion
set /A "ii=0"
pushd "working_directory_here"
for /F "delims=" %%G in ('dir /B /ON "*.txt" 2^>NUL') do (
set /A "ii+=1"
echo ren "%%~G" "!ii!%%~nxG"
)
popd
如果您坚持使用一行程序(在适当的工作目录中启动):
资源(必读):
- (命令参考)
- (其他特殊性)
- (
等特殊页面)%~G
- (
)启用延迟扩展
- (
,^>
等)%%
for "tokens=1* delims=:" %A in ('dir /b *.txt^|findstr /n "^"') do @ren "%B" "%A.txt"
如果在批处理脚本中使用该命令,则将百分比加倍
编辑
我忘记了我的-正则表达式重命名实用程序。它是纯脚本(混合JScript/批处理),从XP开始在任何Windows机器上本机运行
JREN有一个内置功能,可以在每个新文件名中加入一个数字,另外,它还可以将数字保留为零,以便DIR命令按数字顺序列出文件。默认的数字宽度为3位,因此文件将类似于“001.txt”、“002.txt”、“010.txt”、“100.txt”等
/NPAD选项指定最小数字宽度,因此NTAB 1不生成填充,这是原始问题所要求的
jren "^.*" "$n+'.txt'" /j /fm *.txt /npad 1
由于JREN本身就是一个批处理脚本,因此如果将命令放在另一个批处理脚本中,则必须使用calljren
通过命令提示符下的jren/?| more
可以获得完整的文档。我的控制台窗口配置了一个大的缓冲区,因此我可以向后滚动以查看以前的输出,并且我不需要将帮助传送到更多
jren "^.*" "$n+'.txt'" /j /fm *.txt
jren "^.*" "$n+'.txt'" /j /fm *.txt /npad 1