[英]How to rename multiple files in directory?
我在目錄中有很多文件,名稱如
injector.cpython-33.pyo
PregnancyMegaMod.cpython-33.pyo
我需要從它們.cpython-33
片,即重命名文件后必須像
injector.pyo
PregnancyMegaMod.pyo
如何編寫批處理文件或PowerShell腳本?
解決方案是
Get-ChildItem -Filter "*.pyo" -Recurse | Rename-Item -NewName {$_.name -replace '.cpython-33','' }
假設沒有文件有額外的點(換句話說,沒有像“abcpython-33.pyo”這樣的文件),那么你可以使用類似下面的內容:
ren *.cpython-33.pyo" "??????????????????????????????????????????.pyo"
必須有多少?
作為.cpython=33.pyo"
之前的最長名稱.cpython=33.pyo"
有關詳細信息,請參閱Windows RENAME命令如何解釋通配符?
如果可能有其他點,那么您可以使用我的JREN.BAT實用程序 - 一個混合JScript /批處理腳本,它使用正則表達式替換執行重命名操作。 它是純腳本,可以在任何Windows機器上從XP開始本地運行。
jren "\.cpython-33\.pyo$" ".pyo" /i
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
FOR %%a IN ("%sourcedir%\*.pyo") DO FOR %%b IN ("%%~na") DO IF /i "%%~xb"==".cpython-33" ECHO(REN "%%~fa" %%~nb.pyo"
GOTO :EOF
您需要更改sourcedir
的設置以適合您的具體情況。
所需REN命令僅僅ECHO
編用於測試目的。 在確認命令正確后 ,更改ECHO(REN
到REN
以實際重命名文件。
顯然,該方法的關鍵是for %%a
一行。
對於與所選目錄中的掩碼匹配的每個文件,獲取名稱部分,並使用該名稱部分提取“名稱”部分。 如果“擴展”部分是預期的字符串,則構建重命名命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.