Rename-Item
コマンドレットを使用して以下を実行しようとしています。
「*。txt」ファイルを含むフォルダーがあります。 1.txt、2.txtなどとしましょう。
プレフィックスが付いているファイルをコピーし、*。txtに名前を変更し、既存のファイルがある場合はそれを上書きします。
例:
フォルダー:c:\ TEST
ファイル:1.txt、2.txt、3.txt、4.txt、5.txt、index.1.txt、index.2.txt、index.3.txt、index.4.txt、index.5 txt
Rename-itemを使用してindex.*.txt
をフィルタリングし、それらを*.txt
に名前変更し、同じファイルが存在する場合は置き換えます。
君たちありがとう
@lytledwで述べたように、Move-Item -Force
はファイルの名前変更と上書きに最適です。
名前のindex.
部分を置き換えるには、-replace
正規表現演算子を使用できます。
Get-ChildItem index.*.txt |ForEach-Object {
$NewName = $_.Name -replace "^(index\.)(.*)",'$2'
$Destination = Join-Path -Path $_.Directory.FullName -ChildPath $NewName
Move-Item -Path $_.FullName -Destination $Destination -Force
}
Rename-item -forceを試しましたが、うまくいきませんでした。しかし、私はmove-item -forceを行うことができ、それはうまくいきました