0

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.txt10の代わりに、作成中のフォルダ名が呼び出されTester2ます。

助けてくれてありがとう!

4

1 に答える 1