0

次のようなフォルダー構造があります。

  • c:/foo/bar1/a002345.vi
  • c:/foo/bar1/somefilename.vi
  • c:/foo/bar2/b005632.vi
  • ...
  • c:/foo/bar26/z002345.vi

ここで、次の出力を .txt ファイルに書き込むフォルダー c:/foo/ でバッチ ファイルを実行します。

@@/bar1/a002345.vi
@@/bar2/b005632.vi
@@/bar26/z002345.vi

(somefile.vi なし) これを行う最もエレガントな方法は何ですか?

4

1 に答える 1

1

「somefile.vi」をどのように区別するか、数字が含まれていないか、それとも個々の名前を知っているかを教えてください。

後者の場合、C:\foo フォルダーから実行すると動作するはずです。

for /r %%a in (*) do (if %%~na NEQ somefile echo %%~pa%%~na%%~xa >> output.txt)

"@@\bar..." の代わりに "\foo\bar..." が表示されることに注意してください。複数のファイルがある場合、単純なネストを除外したい場合は、次のコマンドを実行します。

for /r %%a in (*) do (if %%~na NEQ somefile1 if %%~na NEQ somefile2 if %%~na NEQ somefile3 echo %%~pa%%~na%%~xa >> output.txt)

などなど....私は自分のコンピューターでこれを試してみましたが、うまくいきました。

あなたの、モナ

于 2013-06-08T11:38:30.833 に答える