Добавление дня недели к имени файла в пакетном файле

Я хочу запустить ежедневную инкрементную резервную копию и добавить день недели к имени файла, чтобы в итоге:

backup_mon.bak
backup_tue.bak

  • Сделайте что-нибудь каждые 10 секунд командного файла
  • Как использовать пакетный файл для рекурсивной замены строки в файлах?
  • Как использовать `%` в пакетном файле
  • Запуск командного файла при выходе из системы
  • Добавление записей в раздел реестра с использованием командного файла
  • Как использовать nircmd.exe и установить имя файла% ~ nF в пакетном режиме для цикла
  • и т.п.

    Не очень беспокоиться о том, что именно добавлено – 0 – 6 в порядке.

    Как мне это сделать?

  • Запись в файл с командой «find» в пакетном скрипте
  • Как использовать `%` в пакетном файле
  • Как использовать пакетный файл для рекурсивной замены строки в файлах?
  • Запуск командного файла при выходе из системы
  • Сделайте что-нибудь каждые 10 секунд командного файла
  • Как скопировать список имен файлов в текстовый файл?
  • 3 Solutions collect form web for “Добавление дня недели к имени файла в пакетном файле”

    Поскольку вы используете это для резервного копирования, вы предположительно запускаете скрипт с правами администратора, и в этом случае вы можете использовать wmic.

    for /F "tokens=2 skip=2 delims=," %%D in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do @echo %%D 

    Дает вам день недели как число (понедельник = 1).

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

    Если у вас нет проблем с вызовом внешнего скрипта, вы можете использовать VBScript, чтобы получить день недели очень легко:

    Код VBScript:

     wscript.echo WeekdayName(Weekday(Date)) 

    Вызвать его и использовать его в имени файла:

     for /f "delims=" %%a in ('cscript /nologo dayofweek.vbs') do @set myvar=%%a set filename=backup_%myvar%.bak 

    То позже в вашем скрипте вы можете использовать переменную %filename% для доступа к ней. Например, если бы я запускал это сегодня, это создало бы файл backup_Sunday.bak . Убедитесь, что файл VBscript находится в том же каталоге, что и пакетный.

    Давайте будем гением компьютера.