バッチ(ログファイル)で平日と月を出力するにはどうすればよいですか?
-
29-09-2019 - |
質問
自動化されたバックアップ用に7zipをセットアップしようとしていますが、出力ファイル名に問題があります。
%date%コマンドを使用してみましたが、バックアップ内に2つのディレクトリを作成しました。
c: users desktop sun 11 07 2010.7z
どうすればそれを1日と月にログにすることができますか?
c: users desktop Sun 11-07-2010.7z
解決
試す
7z a %DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%.7z *.* for (YYYY-MM-DD)
また
7z a %DATE:~7,2%-%DATE:~4,2%-%DATE:~-4%.7z *.* for (DD-MM-YYYY)
(*。*ファイルがバックアップするマスクです)
他のヒント
WMIを使用して、特定の形式で日付の詳細を取得できます。からの出力の問題 date
(そしてその %date%
環境変数)は、それが非常にロケール固有であることです。
実行する場合:
wmic path win32_localtime get day^,month^,year^ /format:csv
処理する必要がある出力が表示されます。
次のスクリプトがあなたを取得します yyyy-mm-dd
必要な形式(プライマリソートキーとして曜日を使用することは良い考えではありません):
@echo off
for /f "skip=2, tokens=2-4" delims=," %%a in ('wmic path win32_localtime get day^,month^,year^ /format:csv') do (
set /a ymd = 10000 * %%c + 100 * %%b + %%a
)
set ymd=%ymd:~0,4%-%ymd:~4,2%%ymd:~6,2%
echo %ymd%
所属していません StackOverflow