Подтвердить что ты не робот

Пакетная команда для перемещения файлов в новый каталог

Я хочу написать пакетное задание, которое при выполнении захватит все файлы в папке C:\Test\Log и переместит их в новый каталог в C:\Test. Этот новый каталог будет иметь имя под названием "Резервное копирование" и CURRENT DATE.

Итак, после завершения, папка журнала должна быть пустой со всеми файлами, которые теперь находятся в новой папке.

Я знаю, что мне нужно будет использовать команду MOVE, но не знаю, как динамически создавать новую папку и использовать дату, чтобы назвать ее.

4b9b3361

Ответ 1

Что-то вроде этого может помочь:

SET Today=%Date:~10,4%%Date:~4,2%%Date:~7,2%
mkdir C:\Test\Backup-%Today%
move C:\Test\Log\*.* C:\Test\Backup-%Today%\
SET Today=

Важной частью является первая строка. Он принимает результат внутреннего значения DATE и анализирует его в переменной окружения с именем Today в формате CCYYMMDD, как в '20110407`.

%Date:~10,4% говорит, чтобы извлечь подстроку * переменной окружения DATE "Thu 04/07/2011" (встроенный тип echo %Date% в командной строке), начиная с позиции 10 для 4 символов (2011). Затем он объединяет другую подстроку Date:, начиная с позиции 4 для 2 символов (04), а затем объединяет два дополнительных символа, начиная с позиции 7 (07).

* Начальные точки значения подстроки основаны на 0.

Вам может потребоваться настроить эти значения в зависимости от формата даты в вашем регионе, но это должно дать вам отправную точку.

Ответ 2

это также будет работать, если вам нравится

 xcopy  C:\Test\Log "c:\Test\Backup-%date:~4,2%-%date:~7,2%-%date:~10,4%_%time:~0,2%%time:~3,2%" /s /i
 del C:\Test\Log