
無法取得正確的指令語法。我們需要定期為目錄中的一批檔案新增前導零。我無法下載並安裝軟體專案來執行此操作。作業系統是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 文件在名稱前面添加一個零