Чтобы добавить дату, вы начнете с %DATE%
.
Однако переменная %DATE%
обычно отформатирована как Wed 02/08/2017
, а косые черты недействительны в именах файлов.
Так заменить их тире:
%DATE:/=-%
Будет отформатирован как Wed 02-08-2017
.
Теперь использовать это как часть вашего файла:
powercfg /batteryreport /output "C:\battery_report-%DATE:/=-%.html"
Если генерировать файл C:\battery_report-Wed 02-08-2017.html
Если вы не можете справиться пространства в имени файла, а затем просто сделать то же самая замену, чтобы избавиться от космос.
set TEMP_DATE=%DATE:/=-% (replace/with - "Wed 02-08-2017")
set TEMP_DATE=%TEMP_DATE: =% (replace [space] with [nothing] "Wed02-08-2017" )
echo %TEMP_DATE% (show result: Wed02-08-2017)
Если вам не нравится это сочетание черточек и удаления пространства, вы можете изменить его, чтобы положить в любых символов, которые вы хотите.
Или вы можете просто удалить первые 4 символа:
set TEMP_DATE=%DATE:/=-% (replace/with - "Wed 02-08-2017")
set TEMP_DATE=%TEMP_DATE:~4% (Cut off "Wed ", now just "02-08-2017")
echo %TEMP_DATE% (show result: "02-08-2017")
Возможный дубликат [Как получить текущий DateTime в командной строке Windows, в подходящем формате для использования в имени файла?] (HTTP: // stackoverflow.com/questions/203090/how-to-get-current-datetime-on-windows-command-line-in-a-suitable-format-for-us) – Mofi
* «Вот что я имею прямо сейчас: *, и это работает? это не так? какой провал? Вы просите о помощи, но даже не говорите нам, что хотите! – abelenky
Все, что он сейчас делает, просто генерирует отчет о батарее, но со статическим именем «battery_report». Это мой первый пост, и я бы предположил, что вы сможете понять, что делает код, который я написал, если вы считаете, что достаточно квалифицированы, чтобы помочь мне с моей проблемой. И спасибо за по-настоящему дружеский ответ! Заставляет меня продолжать возвращаться к переполнению стека, чтобы задать вопросы -_- –