問題タブ [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.
windows - /S パラメータを使用していないのに Forfiles が再帰するのはなぜですか?
Windows Server 2008 R2 Standard の Windows バッチ ファイルで、ファイルを再帰せずに Forfiles コマンドを使用しようとしていますが、/S パラメーターを使用していなくても再帰します。
再帰を停止するにはどうすればよいですか
@path と @file の両方、さらには /s を使って試してみました。/S を使用すると、再帰の量がばかげています。
上記のコードでは、temp.txt が指定されたフォルダー内のファイルのみを表示し、そのサブフォルダーは表示しないことを期待しています。
windows - Windows コマンド プロンプト forfiles が先頭に ~$ を含むファイル名を返すのはなぜですか?
Windows コマンド プロンプトを使用するのは初めてなので、これが簡単な質問である場合は申し訳ありません。forfiles を使用して、フォルダーとそのサブディレクトリ内のすべてのファイルのリストを作成しています。このリストには、最後に変更された日時のファイルも含まれています。これは正しく機能しますが、一部のファイルでは、実際のファイル名に ~$ が含まれていなくても、ファイル名の中に ~$ が出力されます。たとえば、コマンドは次を返します。
ExampleFolder1\ExampleFolder2\~$Examplefilename.docx 10/10/2010 10:10
いつ戻るべきか
ExampleFolder1\ExampleFolder2\Examplefilename.docx 10/10/2010 10:10
これは、印刷されたリスト内の一部のファイルでのみ発生します。
さらに、forfiles の実行時に出力される ~$ 付きのファイルは、実際にはフォルダーに存在しないファイルの名前である場合があり、forfiles の実行時に既に出力されたファイルのコピーのように見える場合があります。ただし、変更された時間は異なります。たとえば、forfiles は以下を返す場合があります。
他の誰かがこの問題に遭遇したかどうか疑問に思っていましたか?
私が持っていた唯一の理論は、おそらく、削除または切り取られて別の場所に移動されたファイルの ~$ ファイル名を返すことですが、コマンドプロンプトに関する知識が限られているため、まったくわかりません。
これは、フォルダーのすべてのファイルとサブディレクトリファイルのリストを出力するために使用しているコードです(ディレクトリを除く):
FORFILES /s /c "cmd /c if @isdir==FALSE echo @path @fdate @fdate"
理想的には、そのようなファイルが印刷されている理由を知りたいだけです。助けてくれてありがとう
windows - パスと一致するファイル名を無視するように findstr を修正
昨日作成したファイルのリストを作成しようとしています。
以下は /c:"cmd /c echo @path" なしで動作しますが、完全なパスが必要です。
バックスラッシュを含むパスで findstr を使用する際の問題を回避する最善の方法は何ですか? 比較ファイルのすべてのバックスラッシュを他の記号に置き換えてから、後で元に戻す必要がありますか、それとも findstr 行でそれを行う簡単な方法はありますか?