Mig*_*uel 3 batch-file cmd.exe
我试图通过命令行完成的是循环目录中的文件,并将它们重命名为一个连续的数字。我可以通过以下方式实现这一点
set/a fileNum = 1 & for %f in (*.txt) do ( rename %~nf%~xf !fileNum!%~xf & set/a fileNum += 1 )
Run Code Online (Sandbox Code Playgroud)
然而问题是,如果不cmd /V:ON先在命令行上进行操作,我就无法进行变量扩展。我尝试这样做
cmd /V:ON & set/a fileNum = 1 & for %f in (*.txt) do ( rename %~nf%~xf !fileNum!%~xf & set/a fileNum += 1 )
Run Code Online (Sandbox Code Playgroud)
但这也不起作用。所以我的问题是,有没有办法解决这个问题。根据这个线程,我应该能够在命令行上使用这个setlocal enabledelayedexpansion线程,但这不起作用。有没有解决这个问题的办法。
如果您确实想要/必须直接在命令提示符下将其作为一行操作:
@>nul set filenum=1&@for %f in (*.txt) do @(cmd /v:on /c ECHO ren "%~nxf" "!fileNum!%~xf"&>nul set/a fileNum+=1)
Run Code Online (Sandbox Code Playgroud)
ECHO确认其功能符合您的要求后,将其移除
| 归档时间: |
|
| 查看次数: |
1425 次 |
| 最近记录: |