PS を使用した再帰的なファイル名の変更は簡単です ( Mike Ormond のブログの例のバリエーション):
dir *_t*.gif -recurse
| foreach { move-item -literal $_ $_.Name.Replace("_thumb[1]", "")}
フォルダー構造の名前を再帰的に変更しようとしています。
ユース ケースは、VS.NET ソリューション全体の名前を変更できるようにすることです (たとえば、Foo.Bar から Bar.Foo に)。これを行うには、いくつかの手順があります。
- フォルダーの名前を変更します (例: \Foo.Bar\Foo.Bar.Model => \Bar.Foo\Bar.Foo.Model)
- ファイルの名前を変更します (例: Foo.Bar.Model.csproj => Bar.Foo.Model.csproj)。
- 名前空間の変更を修正するためにファイル内を検索して置換します (例: 'namespace Foo.Bar' => 'namespace Bar.Foo')
私は現在、このプロセスの最初のステップに取り組んでいます。
この投稿を見つけました。これは、課題について説明し、解決策を主張していますが、その解決策については説明していません。
私は再帰の壁にぶつかり続けます。PS にフラグを使用して再帰を処理させると、親フォルダーの名前が子フォルダーの前に変更され、スクリプトがエラーをスローします。自分で再帰を実装しようとすると、頭が痛くなり、物事がひどくうまくいかなくなります.私の人生では、再帰ツリーの末尾で名前の変更を開始することはできません.