バッチコマンドの日付と時刻をファイル名で表示
2023-09-16 04:12:24
質問
を使ってファイルを圧縮しています。 WinZip を使用してファイルを圧縮しています。私たちは毎日アーカイブを行っているので、これらのファイルに日付と時刻を追加して、毎回新しいものが自動生成されるようにしようとしています。
私は、ファイル名を生成するために以下を使用しています。これをコマンド ラインにコピー ペーストすると、日付と時刻のコンポーネントを持つファイル名が表示されるはずです。
echo Archive_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2%%time:~6,2%.zip
出力
Archive_20111011_ 93609.zip
しかし、私の問題は
AM
対
PM
. AM のタイムスタンプは私に時間を与えてくれます
9
(先頭の空白を含む) vs.
10
が自然に2つの空白を取る。
私の問題は、最初の9日間、最初の9ヶ月間などにも及ぶのでしょうね。
どのようにこれを修正すれば、先頭の空白の代わりに先頭のゼロが含まれるようになり、次のようになります。
Archive_20111011_093609.zip
?
どのように解決するのですか?
別の解決策です。
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /format:list') do set datetime=%%I
を与えてくれます(ロケール設定に依存しない!)。
20130802203023.304000+120
( YYYYMMDDhhmmss.<milliseconds><always 000>+/-<minutes difference to UTC> )
ここからは、簡単です。
set datetime=%datetime:~0,8%-%datetime:~8,6%
20130802-203023
Loganのリクエストに対して、ファイルの"date-time modified"のために同じoutputformatを提供します。
for %%F in (test.txt) do set file=%%~fF
for /f "tokens=2 delims==" %%I in ('wmic datafile where name^="%file:\=\\%" get lastmodified /format:list') do set datetime=%%I
echo %datetime%
フルパスでのみ動作するため、少し複雑です。
wmic
はバックスラッシュが二重になることを期待し
=
はエスケープされなければなりません (最初のもの。2番目のものは周囲の引用符で保護されています)。
関連
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] バッチファイルに引数を渡すにはどうしたらいいですか?
-
[解決済み] Windowsのcmdの標準出力と標準エラー出力を1つのファイルにリダイレクトする
-
[解決済み] バッチファイル内で改行をエコーする方法を教えてください。
-
[解決済み] N日以上前のファイルを削除するバッチファイル
-
[解決済み] バッチファイル実行後にコンソールを自動終了させない方法
-
[解決済み] Windowsのコマンドラインで、現在の日付/時刻をファイル/フォルダー名で使用するために適切な形式で取得するにはどうすればよいですか?
-
[解決済み] Windowsのコマンドラインでコマンドの実行時間を測定するにはどうすればよいですか?
-
[解決済み] バッチファイルでの変数の定義と使用
-
[解決済み] Windowsのバッチファイルで "are you sure "プロンプトを表示させるには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Windowsのコマンドラインで、現在の日付/時刻をファイル/フォルダー名で使用するために適切な形式で取得するにはどうすればよいですか?
-
DockerでWindows 10からVolumeボリュームにフォルダを共有する
-
[解決済み] git が case の変更を無視するようにするには?
-
[解決済み] AltGrキーが効かない、代わりにCtrl+AltGrを使わなければならない [閉店]。
-
[解決済み] Git Bashが私のPATHを認識しない
-
[解決済み] Windowsのコマンドプロンプトでlsを作成する方法は?
-
[解決済み] Windows で .gitignore ファイルを作成すると、「ファイル名を入力しなければなりません」というエラーが発生します。
-
[解決済み] ActivePerlとStrawberry Perl for Windowsのどちらを選べばいいのでしょうか?重複
-
[解決済み] Bashのバックチックに相当するバッチ
-
[解決済み] Windowsで使用するPerlのバージョンは?[クローズド]