2017-02-08 2 views
-4

Вот что я прямо сейчас:Как я могу назвать файл таким, чтобы он включал созданную дату?

powercfg /batteryreport /output "C:\battery_report.html" 

start "" file:///C:/battery_report.html 

Никогда не работал с помощью пакетных файлов до того, любая помощь очень ценится!

Редактировать: Я пробовал код, предложенный в «дублирующем» вопросе, но безрезультатно. Имя файла закончилось тем, что перед AM/PM было место, и это препятствует команде запуска.

+1

Возможный дубликат [Как получить текущий DateTime в командной строке Windows, в подходящем формате для использования в имени файла?] (HTTP: // stackoverflow.com/questions/203090/how-to-get-current-datetime-on-windows-command-line-in-a-suitable-format-for-us) – Mofi

+3

* «Вот что я имею прямо сейчас: *, и это работает? это не так? какой провал? Вы просите о помощи, но даже не говорите нам, что хотите! – abelenky

+0

Все, что он сейчас делает, просто генерирует отчет о батарее, но со статическим именем «battery_report». Это мой первый пост, и я бы предположил, что вы сможете понять, что делает код, который я написал, если вы считаете, что достаточно квалифицированы, чтобы помочь мне с моей проблемой. И спасибо за по-настоящему дружеский ответ! Заставляет меня продолжать возвращаться к переполнению стека, чтобы задать вопросы -_- –

ответ

0

Чтобы добавить дату, вы начнете с %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") 
+0

, если вы хотите/нуждаетесь в независимом от языка решении, посмотрите [здесь] (http://stackoverflow.com/a/18024049/2152082) – Stephan

+0

I пробовал это раньше, но файл, похоже, не открывается, потому что есть пробел между днем ​​недели и датой. Например: имя файла будет: «battery_report-ср. 02-08-2017» –

+0

Я уже показал вам, как выполнить быструю замену поиска в переменной DATE ... вы действительно должны иметь возможность выяснить, как заменить [пространство], если он не работает для вас. – abelenky

Смежные вопросы