0
我有一組文件夾需要在其命名約定中進行標準化。Powershell批處理文件夾重命名 - 項目 - 限制長度和標準化
目前的文件夾命名爲這樣:
12345 - 項目1長的名字很長的名字很長的名字很長很長的名字
1245346項目2長文件名過長的名字太長
1247工程3名到這裏
我目前使用這個腳本:
Get-ChildItem -LiteralPath $Path -Directory |
ForEach-Object {
$_.Name | Out-File "$($_.FullName)\$($_.Name).txt" -Force
Rename-Item -LiteralPath $_.FullName -NewName ($_.Name -replace '^(\d+).*$', '$1')
}
該腳本正確地將做到以下幾點:
- 寫在每個文件夾中的文本文件與文件夾
- 的當前名稱重命名文件夾只保留數字
我喜歡它,以便腳本可以做到這一點:
- 寫在每個文件夾中的文本文件與文件夾
- 的當前名稱的文件夾重命名爲標準的「111111 - 項目名稱最多60個字符」(ProjectNumber [空格] [儀表] [空格]剩餘當前文本 限制爲60個字符)
我似乎有一些項目的數量在例如經過下劃線: 12012_Project名稱 有沒有一種簡單的方法搶「所有數字'然後忽略任何東西,直到[a-zA-Z]然後將它們與 - 在中間? (保持字符限制) –
然後在至少有一個字符的字符類中包含下劃線。我會在上面改變它。 – LotPings
或者提供'Project'這個詞總是在兩個捕獲組之間放置'。+'。 '-NewName($ _。Name -replace'^(\ d +)。+(Project。{0,53})。* $','$ 1 - $ 2')' – LotPings