命名規則で標準化が必要な一連のフォルダがあります。 - プロジェクト1ロングネーム長い名前長い名前の長い長い名前Powershellバッチフォルダ名前の変更 - アイテムの長さと標準化の制限
1245346-プロジェクト2長い名前が長すぎる名前は
長すぎる12345:現在のフォルダは、のような名前が付けられ
1247プロジェクト3名は
私は現在、このスクリプトを使用していますここに行く:
Get-ChildItem -LiteralPath $Path -Directory |
ForEach-Object {
$_.Name | Out-File "$($_.FullName)\$($_.Name).txt" -Force
Rename-Item -LiteralPath $_.FullName -NewName ($_.Name -replace '^(\d+).*$', '$1')
}
このスクリプトは、正しく次の操作を行います:
を維持するフォルダの名前を変更します
- フォルダ
- の現在の名前と各フォルダ内のテキストファイルを書くには、数字だけに
スクリプトがこれを行うことができるようにしたいと思います。
- 標準「111111 - プロジェクト名最大60文字」にフォルダの名前を変更したフォルダ
- の現在の名前と各フォルダ内のテキストファイルを書く(ProjectNumber [スペース] [ダッシュ] [スペース]残り60文字に制限され、現在のテキスト )あなたがして、あなたの正規表現を交換する必要が
をする必要があります異なる区切り文字を排除するために、私は番号の後にアンダースコアを持ついくつかのプロジェクトなどを持っているように見えるん: 12012_Project名前 つかむための簡単な方法があります "すべての数字は[a-zA-Z]まで何も無視し、その間に - を組み合わせます。 (文字制限を維持する) –
少なくとも1つが存在しなければならない文字のクラスにアンダースコアを含めます。私は上にそれを変更します。 – LotPings
2つのキャプチャグループの間に「Project」という言葉が常に存在する場合は、「。+」を入れてください。 ' - $ '、' $ 1 - $ 2 ')' – LotPings