0

ファイル名内で繰り返される可能性のあるパターンを含む一連のファイルの名前を変更したいと思います。最初の「ドット + スペース」からすべてを削除するパターン。例: "wxxdv xcvxcv. sdfsdf. sd.txt" は "sdfsdf. sd.txt" になります (最初に出現する "wxxdv xcvxcv. " を削除して、 で終了します"dot + space" = ". ") 例: "rond M., Bilou. arrival 1901.txt" は " arrival 1901.txt」 ( 「rond M.、Bilouを削除します。」)

次のコマンドは、目標から遠すぎてはいけません (ただし、機能しません)。

dir *.txt | mi -dest {($_.Basename -replace '^[A-z]+\.\s','').Trim() + $_.Extension}

おまけの質問ですが、名前の変更を実行せずに結果を確認する方法はありますか (一種の結果のプレビュー)

ありがとう、powershell を使うのは初めての試みです

4

2 に答える 2

1

私のボーナス質問への答え

名前の変更を実行せずに結果を見る方法はありますか

Move-Item コマンド (mi) の「-WhatIf」スイッチを使用するため、コマンドは次のようになります。

dir *.pdf | mi -WhatIf -dest {($_.Basename.Substring(([regex]::split($_.basename, '\.\s')[0]).Length+2)) + $_.Extension}
于 2013-07-03T03:54:17.103 に答える
1
$t="rond M., Bilou. arrival 1901.txt"
$formatedText=$t.Substring(([regex]::split($t, '\.\s')[0]).Length+2)
write-host $formatedText

arrival 1901.txt
于 2013-06-21T07:59:51.890 に答える