Автоматически сгенерированный заголовок для TXT-файла для команды ">" - PullRequest
0 голосов
/ 28 мая 2019

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

Я уже пытался использовать команды% date% и% time%, команды "date / t" и "time / t" или создать файл заранее и получить к нему доступ позже, но я просто не очень хорошо достаточно опытный в пакетном программировании для доступа к этому файлу.

netstat -e> C: \ Users \ User1 \ Documents \% date%.% Time% .txt выход

Должен быть файл с именем, например, например. «20.02.2016, 12: 06: 12.txt», но я получаю файл & date или ошибку в cmd: «Синтаксис имени файла, имени каталога или метки тома неправильный.».

1 Ответ

2 голосов
/ 29 мая 2019
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set filedate=%%c%%a%%b)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set filetime=%%a%%b)
netstat -e > C:\Users\User1\Documents\%filedate=%.%filetime%.txt exit

Первый цикл for делает date / t, затем устанавливается "/" в качестве разделителя и повторно собирает дату без разделителя.

Второй цикл for делает time / t, затем использует «:» в качестве разделителя и повторно собирает время без разделителя.

Затем мы выполняем команду netstat, помещая наши переменные в имя файла.

Это не будет работать для всех локалей, но общая идея одна и та же. Если вы живете в регионе, где это решение не работает, просто адаптируйте код под свои нужды. Это работает для меня на моей собственной системе в Северной Америке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...