我正在嘗試替換檔案夾中年份不同于 2021 年的所有檔案名。
例子:
some_random_text_20240102 --> some_random_text_20210102
some_random_text_20220320 --> some_random_text_20210102
some_random_text_20241020 --> some_random_text_20210102
唯一的數字位于檔案名的末尾。年份代表前 4 年。我不知道如何將其添加到邏輯中(之前沒有做過正則運算式)
獲取 ChildItem -路徑“。” -過濾“*.csv”| 重命名專案 -NewName { $ .BaseName.Replace("20[0-9][0-9]","2021") $ .Extension }
uj5u.com熱心網友回復:
您可以使用
Get-ChildItem -Path ".\" -Filter "*.csv" | `
Rename-Item -NewName { $_.Name -replace '(?<=_)(?!2021)\d{4}(?=\d{4}\.csv$)', '2021' }
請參閱正則運算式演示。
詳情:
(?<=_)
- 一個緊跟一個_
字符的位置(?!2021)
- 右邊接下來的四個字符不能是2021
字串\d{4}
- 任意四位數字(?=\d{4}\.csv$)
-緊接在四位數字之后,必須有另外四位數字,然后.csv
應該在字串的末尾。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/533754.html
標籤:正则表达式电源外壳代替
下一篇:從域中洗掉無效字符