を含むRecursivly転換路:)PowerShellの - 私はそれは非常に便利かつ強力な見つける原因、私は最近、PowerShellを使用して開始値
だから、これはシナリオです: お客様は、その中にコンマを持っていたフォルダ構造を持っています。 最新のプログラムが追加されているため、カンマのためにこれが失敗します。これは私が持っているものである
...そして、それは動作しますが、私はそれが非効率的だと感じ - 「」 は基本的に、彼らはただ、たとえばでカンマを置き換えたいです。 スクリプトは想定されていることを行いますが、一方のパスが変更されるとすぐに、元のパスが変更されたため、残りのパスは失敗します。 :)あなたがいずれかを持っている場合、私は十分に説明願ってい
$folderpath = "C:\pathcontainingcomma"
foreach ($i in get-childitem $folderpath -Recurse) {
$name = $i.name.replace(","," - ")
Rename-Item -Path $i.fullname -NewName $name -Force -Verbose
}
は、質問をしてください:)
引数が 'Path'にnullであるため、引数をバインドできません。 ここに何か不足していますか?名前の変更: 'System.Object []'をパラメータで必要な型 'System.String'に変換できません。 'パス'。指定されたmeth odはサポートされていません。 たとえば、$ items.Nameにする必要がありますか? –
申し訳ありませんが、あなたのコードを忠実にコピーしました。私は 'foreach(){}'がPowerShellの慣用的な解決法ではないと考えているので、パイプラインを使って書き直しました。 – Joey
そして、 '$ items'は配列です(実際のループの前に逆になります)。 'ForEach-Object'は' $ _'を介して現在のパイプライン要素へのアクセスを許可します(通常、scriptblocksを含むパイプラインで)。 – Joey