Windows 7のコマンドプロンプトで、名前が。で始まらないフォルダのすべてのファイルを一覧表示したいと思いますabc。私が試してみました:
forfiles /P C:\myFolder\ /M ^[abc]* /S /C "CMD /C echo @file"
私のエラーはどこにありますか?
どうもありがとう。
Windows 7のコマンドプロンプトで、名前が。で始まらないフォルダのすべてのファイルを一覧表示したいと思いますabc。私が試してみました:
forfiles /P C:\myFolder\ /M ^[abc]* /S /C "CMD /C echo @file"
私のエラーはどこにありますか?
どうもありがとう。
見てforfiles /?:
/M searchmask Searches files according to a searchmask. The default searchmask is '*' .
forfilesこれは、正規表現をサポートしていないことを強く示唆しており、通常の Cmd/Windows ワイルドカードのみをサポートしています。
Windows 7 では、これは PowerShell で簡単に実現できます。
dir c:\myFolder | ?{ -not($_.Name -match '^abc') } | select Name
(これは大文字と小文字を区別する正規表現の一致を実行しますが、これは Windows ファイル名の場合には問題になりません。)
注意。files not starting が必要であると仮定すると、これは (試行された) 正規表現が言うことではありません(またはABCではない何かを開始するファイル名)。abc
私のエラーはどこですか?
あなたのエラーは、forfilesコマンドが正規表現をサポートすると考えています。
そうではありません。*および とのファイル名の一致をサポートします?。
xcopy代わりにコマンドを使用する場合の代替手段はecho、オプションを使用すること/excludeです。例えば:
forfiles /P C:\myFolder\ /M ^[abc]* /S /C "CMD /C xcopy @path %myDestinationFolder% /exclude:abc*"
また、PowerShell を使用している場合、もう 1 つのオプションは operator-matchです。