Переименовать файл, имеющий & в имени файла с сегодняшней датой - PullRequest
0 голосов
/ 30 ноября 2018

Я хочу переименовать файл MS-word CEEMEA & LATAM.Docx в CEEMEA & LATAM 113018.Docx, который включает сегодняшнюю дату, используя cmd.

Оба файла .Docx и .Bat находятся в одной папке.Я начинаю со следующей команды и получаю «система не может найти указанный путь».

ren "CEEMEA & LATAM.Docx" "CEEMEA & LATAM %date%.Docx"

1 Ответ

0 голосов
/ 30 ноября 2018

Обычно переменная date в пакетном файле содержит:

  • Первые три буквы дня сегодня (но в некоторых системах этого не существует).

  • Дата сегодня (форматы различаются для каждой системы) [ числа обычно разделяются символом /, который интерпретируется как разделитель каталогов ].

Этот способ создает метку даты в формате mmddyy IN CMD :

for /f "tokens=2 delims==" %A in ('wmic OS Get localdatetime /value') do set "dt=%A"
set "YY=%dt:~2,2%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
rem M=month D=day Y=Year
set datestamp=%MM%%DD%%YY%
rem Change datestamp variable as you want.
ren "CEEMEA & LATAM.Docx" "CEEMEA & LATAM %datestamp%.Docx"

Примечание. Приведенный выше код предназначен только для cmd.Если вы хотите это для пакетного файла , удвойте знаки процента (%) переменных цикла (%A должно стать %%A в обоих двух случаях) .

...