2016-11-22 9 views
0

複数のサブフォルダ内の多くのファイル名から特定の文字を削除します。 PowerShellを使ってファイル/フォルダ名の特定の文字を取り除くことを手伝ったいくつかのトピックを見つけました。残念ながら、以下のコマンドレットを実行しようとすると、次のエラーが発生しました。PowerShellは、私はこの問題を調査してきたし、ここでの知識ベースを熟読している

cmd: Get-Item * | ForEach-Object {Rename-Item $_ ($_.Name -replace "%", "")} 
error: rename-item: Source and destination path must be different 

何千ものファイルがあります。私は多くのサブフォルダ内の任意およびすべてのファイル名から%#記号を削除しようとしています。

例:

FileName11.doc 
+0

完全なスタックトレースを追加できますか? –

答えて

0

FileName%1%#1.doc 

に、cmdが、PowerShellを使用しないでください前に。あなたの例の正しい構文は次のとおりです。

Get-Item * | ForEach-Object {Rename-Item $_ -NewName ($_.name -replace '#','' -replace '%','')} 
+0

それを試した後、私はまだPowerShellで以下のエラーが発生します。 名前の変更、アイテム:ソースとデスティネーションパスが異なっている必要があります。ラインで :1つの文字:30 +-アイテムを取得* | ForEach-Objectに{名前の変更、アイテムの$ _ -NewName($ _。名前-replace '#'、 '' -r ... + ~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:WriteError:(G:\ WESTWICKE \ Syを... N・ローレンさんファイル名:String)[Rename-Item] + FullyQualifiedErrorId:RenameItemIOError、Microsoft.PowerShell.Commands.RenameItemCommand –

+0

rename-itemに '-Force'パラメータを追加しようとしました – 4c74356b41

関連する問題