は私がネットワークディレクトリ内のsettings.xmlと呼ばれる特定のファイルの最終更新日時をファイルを抽出し、ローカルログへの書き込みを行うようにしたいバッチファイルでPOPD後にそれを使用する方法ファイル。 以下は私が試したものです。のpushd後に一時的なドライブの情報を抽出するが、
PUSHD "%share%"
forfiles /s /m settings.xml /c "cmd /c SET [email protected] SET [email protected]"
forfiles /s /m settings.xml /c "cmd /c SET [email protected] SET [email protected]"
POPD
ECHO %fileDate% %fileTime% >> "LOGFILE.TXT"
%share%はネットワーク上の場所で、LOGFILE.TXTはバッチスクリプトが実行されているローカルマシン上にあります。ただし、これはEchoがオフのログのみです。ログファイルに保存します。
私は次のことを試してみましたが、それは私が欲しいものではありませんネットワークドライブ自体の情報を、書きました。
PUSHD "%share%"
forfiles /s /m settings.xml /c "cmd /c ECHO @fDate @ftime >> LOGFILE.TXT"
POPD
ネットワークの場所から日時を抽出するにはどうすればよいですか?ローカルファイルに書き込むにはどうすればよいですか?その情報を変数に格納し、後でその変数を使用する必要がありますが、その方法はわかりません。私は初めてバッチスクリプトを手に入れようとしています。
更新1コメントに基づいて試してみます。まだ時間を印刷していない。
SET current=%CD%
PUSHD "%share%"
forfiles /s /m settings.xml /c "cmd /c ECHO @ftime >> "%current%\LOGFILE.TXT""
POPD
。 'cmd/c'インスタンスの一部としてログファイルに日付と時刻をエコーする必要があります。コマンド修飾子で 'FOR/R'コマンドだけを使用している理由がありますか? – Squashman
は、あなたの 'PUSHD'コマンドの前に、変数にカレントディレクトリを設定し、使用したいログファイルのリダイレクトを持つこと。 '現在=%のCD%を'と '>>「%現行%の\のlogfile.txtという」設定' – Squashman
はなぜだけではなく、テキストファイルへのフルパスを使うのか? – SomethingDark