iT邦幫忙

0

想在批次檔案名稱前自行輸入號碼,並且後面檔名不變更

想使用BAT檔案在大量檔案前輸入號碼,且後面檔名不變更
目前頭緒只有如下...

@set /p num=輸入號碼:

輸入號碼後,大量修改該目錄下的檔案(CSV)
ex:
原始檔案名稱
ABCDEFGH.csv

輸入號碼後變成
12345678-ABCDEFGH.csv

powerc iT邦新手 4 級 ‧ 2021-06-09 13:08:34 檢舉
微軟有工具=>PowerToys,其中有PowerRename可用,當然也可以像下面大大回覆的自己寫程式

2 個回答

0
黃彥儒
iT邦高手 1 級 ‧ 2021-06-09 12:48:44

用Python應該4~8行可以搞定吧
pathlib

0
japhenchen
iT邦超人 1 級 ‧ 2021-06-09 13:49:36

powershell 一行搞定,可另存成 .ps1 的檔案當批次檔用

Get-ChildItem "*.csv" | rename-item -NewName { "12345678-" + $_.Name }

命令列下直接執行

for %a in (*.csv) do ren "%~a" "12345678-%~na%~xa"

python的寫法

...........你都來問批次檔的寫法了,應該不會想知道其他語言的做法吧,咳咳咳

存成.bat可以直接引入參數
rename.bat 12345678

for %%a in (*.xlsx) do ren "%%~a" "%1-%%~na%%~xa"

powershell寫成"PS1批次檔"的處理方式,用參數帶的話

Get-ChildItem "*.csv" | rename-item -NewName { "$($args[0])-" + $_.Name }

繞口?沒辦法,那就用BAT處理法吧

我要發表回答

立即登入回答