ファイルの最終更新日をシステム日付(日付ではなく時刻のみ)と比較しようとしている.batファイルを作成しています。ファイルの最終更新日時を取得するには、私は次のようにします。バッチファイルの左の文字列
for %%? in ("anyFile.png") do set dat=%%~t?
これは私のファイル(DAT = 2016年8月31日8時59分)の最終更新日時を示します。私はそれが魔法のように動作コンソールに直接コードを入力した場合
set dat=%dat:~0,10%
が、私のバッチファイル内:今私は初め(2016年8月31日)でのみ10個の文字を取得する文字列をカットしてみてくださいコンソール出力は、次の私に与える:
dat=~0,10
は私が欠けている何かの手掛かりを持っていない、とインターネットで私が同様の問題もないと誰にも見つけることができませんでした。
これは、空の変数 'dat'の結果です。あなたがファイル名だけを指定しているので、間違ったディレクトリを探していると仮定します(作業ディレクトリとバッチファイルの親ディレクトリは2つの異なることに注意してください)... – aschipfl
しかし、最初のコマンドの後、バッチファイルの直後に "set dat"と "pause"と入力すると、コンソールは "dat = 31.08.2016 08:59"を返します。したがって、変数datは空ではありません。または私は間違っていますか? – Moha
あなたのプログラムのより大きな部分を見せてもらえますか?あるいは、あなたの質問の2行がコード全体ですか? – geisterfurz007