0
同じタイトルの話題はたくさんありますが、私のニーズに合わせてそれらを試したり修正したりしています。powershellを使用して、フォルダ名と除外を含むファイルの名前を変更してください。
これは私が達成したいものに近づきましたが、除外は機能しません。残りのフォルダ「フォルダ3」ではなく、すべてのサブフォルダのPDFファイルの名前が変更されます。またここで私は今まで私のために働いたことのない他の話題からの解決策を試しました。下記の構造を参照して、最初のサブフォルダの名前でサブフォルダのサブフォルダ内のすべてのPDFファイルの名前を変更された私は何を達成しようとしています
[string[]]$Path = @('C:\test\')
[string[]]$Excludes = @('*folder 1*', '*Folder 2*')
Get-ChildItem $Path -Filter *.pdf -Recurse | ?{$_.DirectoryName -notlike $Excludes } | Rename-Item -NewName { $_.Directory.Parent.BaseName + '-' + $_.Name }
。
C:\test\2704814
\Folder 1
|- file1.pdf
|- file2.pdf
\Folder 2
|- file1.pdf
|- file2.pdf
\Folder 3
|- file1.pdf
|- file2.pdf
C:\test\2704815
\Folder 1
|- file1.pdf
|- file2.pdf
\Folder 2
|- file1.pdf
|- file2.pdf
\Folder 3
|- file1.pdf
|- file2.pdf
など
これを取得するには、次の
C:\test\2704814\Folder 3\2704814-file1.pdf
と
C:\test\2704814\Folder 3\2704814-file2.pdf
など別の$ ExcludeL1第1レベルのためのsu挿入
こんにちはLotPings、明確な説明と作業溶液をありがとうございました。魅力的な作品!また、既に番号があるかどうかの確認は非常に歓迎です。 – Ignotus
別の変数 '$ ExcludeL1'を作成して(' $ EcludeL2'に名前を変更して) 'Where-Object {$ _。Name -notin $ ExcludeL1}最初のGet-ChildItemとForEach-Objectの間に「|」を付けます。 – LotPings
申し訳ありませんが、他の質問を削除し、あなたがとても速くないことを望みました;)not notをinに変更し、「Folder 3」のみを含めました。もう少しテストし、それ以外の場合はアップデートを試します。ありがとう。 – Ignotus