Нужна помощь в создании командного файла, чтобы сделать определенные вещи - PullRequest
0 голосов
/ 08 февраля 2012

Это сложно сказать, но я сделаю все возможное.То, что я пытаюсь сделать, это делать резервные копии резервных копий в основном.У меня есть несколько файлов и папок в папке FOLDER1.Я хочу создать командный файл, который переместит мои файлы и папки из FOLDER1 в FOLDER2.В то же время каждый раз, когда я запускаю этот пакетный файл, я хочу, чтобы он создавал папку в FOLDER2 с именем месяца, дня, года и времени в качестве имени папки, потому что я собираюсь запускать этот пакет каждый день, и я не хочу, чтобы онпереписать мои предыдущие файлы.Есть ли в любом случае, чтобы сделать это.

Спасибо

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Вы можете использовать переменную% date% для создания имени папки. Вы можете увидеть это с

echo %date%

, что дает 07/02/2012 (на моей машине в Великобритании; 7 февраля)

Чтобы извлечь каждый отдельный компонент дня, месяца и года, используйте подстроку% date: ~ OFF, LEN%, где OFF - смещение на основе нуля, чтобы начать извлечение, а LEN - длина извлечения в символах.

Создать имя папки в переменной, dest:

set dest=%date:~3,2%_%date:~0,2%_%date:~6,4%

Теперь вы можете перемещать файлы в эту папку:

move src %dest%
0 голосов
/ 08 февраля 2012

Вы можете использовать WMIC для получения даты / времени в формате UTC, который подходит для имени файла или каталога.Прелесть этой техники в том, что она полностью независима от локали.Если вы хотите, вы можете удалить информацию о часовом поясе, как я делаю ниже.

for /f "tokens=2 delims==" %%A in ('wmic os get localdatetime /value') do set dateTime=%%A
set dateTime=%dateTime:~0,18%

DateTime будет иметь формат YYYYMMDDhhmmss.ddd

YYYY = годММ = месяцDD = деньчч = час (24)мм = минутасс = второйддд = дробная секунда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...