PowerShell で正規表現を使用して、ファイル名に基づいてフォルダーに名前を付けようとしています。
名前はこんな感じtester2-2013-14-10.txt
。
そのファイル名を言って、という名前のフォルダを作成したいと思いますtester2
。ディレクトリ内のすべてのファイルに対してこれを行います。基本的に、正規表現は最初の「-」まで読み取り、その後の他のすべての文字を無視する必要があります。これ
私が試みているすべての正規表現は、そのようなことを行うために機能していません。
これが私が使用しようとしている正規表現です(\w+)\.txt
。
そして、これが私がそれを実装しようとしたときです:
Get-ChildItem | Where{$_.Name -match '(\w+)\.txt'} | ForEach-Object{
md $matches[1]}
このタイプのものの他のバリエーションと一緒に。
この正規表現に対してファイル名を実行すると、文字列の末尾が使用されているようです。の場合などtester2-2013-14-10.txt
。10
の代わりに、作成中のフォルダ名が呼び出されTester2
ます。
助けてくれてありがとう!