簡體   English   中英

如何重命名目錄中的多個文件?

[英]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(RENREN以實際重命名文件。

顯然,該方法的關鍵是for %%a一行。

對於與所選目錄中的掩碼匹配的每個文件,獲取名稱部分,並使用該名稱部分提取“名稱”部分。 如果“擴展”部分是預期的字符串,則構建重命名命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM