17

フォルダーのバックアップを作成し、日付と時刻を末尾に追加する単純なバッチ ファイルがあります。

これを段階的に使用すると、「data 28-04-13」などのフォルダーが出力されます。

これの最後に時刻を追加したいのですが、私のコードは時刻を HH:MM として出力します。これは、コロン (:) が含まれているため、フォルダー名には有効ではありません。

誰かが私のコードを変更して:を削除するか、「.」に置き換えてください。

ありがとうございました

@echo off & for /F "tokens=1-4 delims=/ " %%A in ('date/t') do (
set DateDay=%%A
set DateMonth=%%B
set DateYear=%%C
)

@echo off & for /F "tokens=1-4 delims=/ " %%D in ('time/t') do (
set DateTime=%%D
)

set CurrentDate=%DateDay%-%DateMonth%-%DateYear%-%DateTime%

md "F:\MobilePC\data %CurrentDate"

自分の質問に答えた

だから、これは私にとって最も簡単な方法でした:

set CurrentDate=%DateDay%-%DateMonth%-%DateYear%-%time:~0,2%.%time:~3,2%

「31-10-13-11.35」を出力するもの

4

6 に答える 6

23

このコードの最初の 4 行は、信頼できる YY DD MM YYYY HH Min Sec 変数を XP Pro 以降で提供します。

組み込みの cmd の日付と時刻の変数はユーザーが設定できるため、一般的なバッチ ファイルでは信頼できません。

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%"
set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
pause
于 2013-10-31T12:04:46.510 に答える
6

これにより、現在の日付と時刻を設定できます。これをバッチファイルで毎日使用しています。

%date:~10%%date:~4,2%%date:~7,2%%time:~0,2%%time:~3,2%

出力:

201509141639 ( 14th sept 2015 04:39 PM )
于 2015-09-15T13:24:26.650 に答える
2

このコードは、現在の日付と時刻で名前が付けられたフォルダーを作成し、「D:\Tally Data」から「08-10-2016 17 23」フォルダーに完全なコンテンツをコピーします。

コンピューターの D ドライブに「Tally Data」という名前のフォルダーが必要です (以下のコードをテキスト ドキュメントにコピーし、DOS バッチ ファイルとして保存します)。

for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a

set time=%TIME:~0,2%" "%TIME:~3,2%

mkdir C:\%date:/=%" "%time%\Backup

xcopy "D:\Tally Data" C:\%date:/=%" "%time%\Backup /E /S /Q /Y
于 2016-10-08T12:08:11.773 に答える
0
 setlocal
   set "time=%time::=%"
   rem check that date has / delimeter if not replace it for valid
   md %date:/=%_%time:~0,-3%
 endlocal
于 2013-10-31T14:53:43.093 に答える