无法获取正确的命令语法。我们需要定期为目录中的一批文件添加前导零。我无法下载并安装软件来执行此操作。操作系统是 Windows-7。文件名的长度各不相同。例如 000165-CityName1.pdf 到 0000165-CityName1.pdf 000166-CityNameLonger2.pdf 到 0000166-CityNameLonger2.pdf 等。正在寻找一个可用的重命名命令,有人可以建议一个吗,我将不胜感激。我试了六次都没有成功。
答案1
此 powershell 脚本应该可以正常工作,以在文件夹中每个文件名的开头添加 0。将此脚本保存为 .ps1。
Get-ChildItem -Path "C:\temp\cityfiles\" |
Rename-Item -NewName {$_.BaseName.insert(0,'0') + $_.Extension}
这将获取文件夹 cityfiles 内的每个文件并在每个文件名开头添加“0”。
答案2
如何在一批文件名中添加前导零?
使用以下命令:
for /f %f in ('dir /b *.pdf') do ren "%f" "0%f"
要在批处理文件中使用,请替换%
为%%
:
for /f %%f in ('dir /b *.pdf') do ren "%%f" "0%%f"
使用示例:
F:\test\test>dir
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test\test
24/06/2016 21:39 <DIR> .
24/06/2016 21:39 <DIR> ..
24/06/2016 21:38 0 000165-CityName1.pdf
24/06/2016 21:38 0 000166-CityNameLonger2.pdf
2 File(s) 0 bytes
2 Dir(s) 1,769,011,425,280 bytes free
F:\test\test>for /f %f in ('dir /b *.pdf') do ren "%f" "0%f"
F:\test\test>ren "000165-CityName1.pdf" "0000165-CityName1.pdf"
F:\test\test>ren "000166-CityNameLonger2.pdf" "0000166-CityNameLonger2.pdf"
F:\test\test>dir
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test\test
24/06/2016 21:40 <DIR> .
24/06/2016 21:40 <DIR> ..
24/06/2016 21:38 0 0000165-CityName1.pdf
24/06/2016 21:38 0 0000166-CityNameLonger2.pdf
2 File(s) 0 bytes
2 Dir(s) 1,769,011,425,280 bytes free
进一步阅读
- Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
- 目录- 显示文件和子文件夹的列表。
- 对于/f- 循环命令以执行另一个命令的结果。
- 任- 重命名一个或多个文件。
答案3
虽然你可以把它放在一个 bat 文件中,并添加一些选项和检查,但要进入 cmd 提示符并 cd 到你想要的文件夹
- 任.pdf 0.pdf
将在任何 PDF 的名称前面添加一个零