問題タブ [forfiles]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4911 参照

batch-file - FORFILES の複数の使用

これが機能し、コマンドラインからうまく機能することはわかっています...参照。検索マスクに複数のファイルタイプを持つ forfiles を使用していますか?

私たちがやりたいことは、これらの 2 つのファイル マスクを使用することです: fileone と filetwo を使用して、別の FORFILES を呼び出します。%%G を 2 倍にすると、これはバッチ スクリプトになります。一度?

結果は次のとおりです。

これもうまくいかないようです..使用できません: /c 複数回... 参照..ネストされた forfiles: パスと拡張子フィルタ

0 投票する
2 に答える
398 参照

windows - 「forfiles」がディレクトリ (ツリー) を列挙するのはどの時点ですか?

このコマンドforfilesは、ディレクトリを列挙し、各項目に特定のコマンドを適用することを目的としています。/S完全なディレクトリツリーに対しても同じことができます。

列挙されたディレクトリ (ツリー) の内容が、コマンド本体のコマンドによって変更されるとどうなりforfilesますか?

D:\data次の内容のディレクトリがあるとします。

上記のディレクトリで実行した場合の出力にはforfiles /P "D:\data" /M "*.txt" /C "cmd /C echo @file"、明らかに上記のリストが反映されます。

しかし、forfiles本体のコマンドがディレクトリの内容を変更するときの出力は何ですか? たとえば、リスト内のファイルの 1 つfile3.txtが実際に繰り返される前に削除されたとします。file4.txtまたは、ループが完了する前に、のように新しいファイルが作成された場合はどうなりますか?

そのような状況でどのforfiles /Sように行動しますか?いくつかのサブディレクトリsub1sub2、 がありsub3、それぞれに上記のファイルのリストが含まれているとします。forfiles /S現在 を反復処理中ですsub2sub1は既に処理されていますが、まだ処理されていsub3ません。sub1との内容はsub3その時点で変更されます (前述のように現在ウォークスルーsub2している場合)。では何が挙げられるでしょうか?内容の変更はsub1認められないと思いますが、どうsub3でしょうか?

私は主にforfilesWindows Vista 以降の動作に興味があります。

注:コマンドについて非常によく似た質問
をすでに投稿しました。ただし、組み込みコマンドではなく、構文がまったく異なるため、他の質問の範囲を拡張するのではなく、別の質問を投稿することにしました。forforfiles

0 投票する
2 に答える
343 参照

batch-file - `forfiles` で `@` 変数置換をエスケープするには?

次のようなコマンド ラインを使用していforfilesます (Windows 7 x64):

@relpath(現在反復されているアイテムへの相対パス)の置換をエスケープして、@relpath文字通り出力を取得するにはどうすればよいですか? (...または他の@変数?)


これまでのところ、成功せずに次のことを試しました。

  • \: は@前に処理されているように見える\ため、\@relpath機能しません。むしろ、展開された出力の前に\;が付いています。
  • ^: を述べても、が消える^@以外は何の効果もありません。^書き込ん^^@でも役に立ちません^。その場合、展開された出力に残ります。
  • 0xHH: 驚くべきことに (私には)、forfiles16 進数の特定の置換も機能0x40しません。これは、変数の解析の前に行われるようです。
  • @@: 2 倍にすると、文字通り@最初の値が保持されます。@
0 投票する
1 に答える
1041 参照

batch-file - forfilesでコマンドのERRORLEVELを取得するには?

1 日以上前のファイルを処理する必要があります。したがって、私はこれを使用します:

ここで、7z.exe の進行が成功したかどうかを確認したいと思います。errorlevelforefiles コマンド内のコマンドを取得するにはどうすればよいですか? 可能性はありますか?

私はすでにうまくいかなかった次の方法を試しました。errorlevelエラー (2) を返すはずの壊れたファイルを使用しても、常に 0 を返します。

0 投票する
0 に答える
800 参照

batch-file - バッチよりも新しい ForFiles

forfiles コマンドを使用しています

X 日前より新しいファイルのリストを取得しようとしています。

/D +X コマンドを使用すると、not files found エラーが発生します。

ただし、日付を使用すると正常に機能します。

+X の書式設定で何か不足していますか? 現在の日付に 3 日を追加してから、それよりも新しいファイルを探しているようです。

または、私が知っているよりも日付を増やす簡単な方法がありますか。Batch をたまにしか使用しない

私は vbs を使用したくありません。また、日付を取得するためだけにスクリプトの残りの部分よりも長いコード セットを使用したくありません。もっと簡単な方法があるはずです。

0 投票する
2 に答える
8395 参照

windows - Windows の forfiles コマンドからフル パスを指定してコマンドを実行するにはどうすればよいですか?

次のコマンドを実行しようとしています。

ただし、次のように失敗します。

これらも機能しません:

渡されるパスにcmdスペースが含まれているため、間違いなく失敗しています。通常、引数全体を引用することでこれを解決します。ただし、二重引用符を渡す方法はないようです。

では、Windows の forfiles コマンドからフル パスを指定してコマンドを実行するにはどうすればよいでしょうか。