Как я могу получить имя файла YYYY.MM.DD_HH.MM.SS.7z? Должен работать с любыми региональными настройками!

Вопрос не в том, чтобы дублировать 7-Zip CMD: добавить текущую дату в архив и включить в архив только последнюю измененную папку, так как мне также нужны секунды.

С Уважением,

3 ответа3

3

Ну, хотя этот вопрос технически является другим вопросом, ответ по сути такой же, как и на другой вопрос:

Echo "%DATE:~-4%.%DATE:~4,2%.%DATE:~7,2%_%TIME:~0,2%.%TIME:~3,2%.%TIME:~6,2%

Поскольку вы указали, что он должен работать с любыми региональными настройками, этот ответ не полностью соответствует вашим потребностям. Насколько я знаю, нет никакого способа удовлетворить ваши потребности непосредственно в cmd.exe. Я очень рекомендую делать это в powershell вместо cmd.

1

Команда:

echo "%DATE:~10,4%.%DATE:~7,2%.%DATE:~4,2%_%TIME:~0,2%.%TIME:~3,2%.%TIME:~6,2%.7z"

Выход:

"2012.27.05_22.11.58.7z"
0

@ эхо выключено

цвет 4f

режим 40,3

название переименовать в дату и время

::

:: Куски собрались "здесь и там" ...

:: Пакетное переименование 1 на 1 ш. короткая задержка,

:: до даты + время w. миллисекунды =>

:: без перезаписи.

::

:: Западноевропейские региональные настройки:

:: ХОРОШО. ЛЮБЫЕ региональные настройки:?.. Может быть

:: требуют 'env. замена переменных.

::

:7ZLOOP

SETLOCAL

set "source = 1_7z-orig-files-dir"

установить "target = 2_tmp"

::

если не существует "% target%\" md "% target%"

если не существует "% source% *. 7z" Перейти к END

для %% F in ("% source% *. 7z") do (

установить "file = %% ~ nxF"

move /y "%% F" "% target%"> nul

goto:break

)

:перерыв

::% времени: ~ -2,2% и: цикл установлен

:: до 250 предотвратить перезапись:

::

установите d =% date:~ -4,4% -% date:~ -7,2% -% date:~ -10,2%

установить d =% d: = _%

установить t =% времени:~ -11,2% -% времени:~ -8,2% -% времени:~ -5,2% __% времени:~ -2,2%

установить t =% t: = 0%

::

ren "2_tmp *. " "% d% __% t%. "

: петля

set /a count = count + 1

если% count% == 250 goto endloop

Goto Loop

: ENDLOOP

::

Move / Y 2_tmp *.*\

Endlocal

Перейти к 7ZLOOP

:КОНЕЦ

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .