- ベストアンサー
Dosコマンドバッチ ファイル更新日時取得
コマンドバッチ内でファイル更新日時を以下の様に取得しますが 更新日から取得できません。時間は入ってきません。 設定が必要なのでしょうか? ■コマンド for %%F in (%LOCAL% ) do call :sub "%%F" %%~tF ■結果 この「%%~tF」には 2015/02/05しか入ってきません。 ■環境 OS Windowsserver 2008 SP2 以上 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
%%~tFの結果をcallの引数として渡しているからではありませんか。 例えば、 for %%F in (%LOCAL% ) do echo %%~tF とすれば時刻も出力されるでしょう。 echo on状態で確認するとわかると思いますが、%LOCAL%がexampleだった場合 forループ内の処理はこのように展開されるはずです。 call :sub "example" 2015/02/05 17:30 この状態でcall先であるラベル:sub側には 第1引数が"example" 第2引数が2015/02/05 第3引数が17:30 となります。(スペースで区切られているから) 従って、第2引数を参照した場合は日付しかないということだと思われます。 :subの処理が書かれていないので推測ですが。 的外れな回答でしたら申し訳ないです。
お礼
わかりやすい説明ありがとうございました。 %3で取得すると時間が取得できました。 有難うございました。