Команда пакетного файла для создания имени файла по текущей дате

Извините, что задаю вопрос, приведенный ниже, но я застрял в ее простоте.

Мне нужен командный файл Windows, который создает текстовый файл с именем сегодняшней даты в соответствии с датой компьютера.

10 июля 2014 года >>> 10072014 >>> 10-07-2014.txt

Спасибо за вашу помощь


person user270488    schedule 10.07.2014    source источник
comment
Нет, я проверил этот вопрос.   -  person user270488    schedule 10.07.2014
comment
Получение даты в имени файла является наиболее часто задаваемым вопросом на форумах и группах новостей. См. Здесь надежный метод получения переменной: stackoverflow.com/search?q=fullstamp   -  person foxidrive    schedule 10.07.2014
comment
@echo set dt =% date% .txt copy% date% .txt \\ SERVER \ FOLDER1 \ FOLDER2 \ echo% date%% time%% username% ›› \\ SERVER \ FOLDER1 \ FOLDER2 \% date% .txt net используйте ›› \\\ SERVER \ FOLDER1 \ FOLDER2 \% date% .txt cd c: \ c: \ IPCONFIG ›› \\ SERVER \ FOLDER1 \ FOLDER2 \\% date% .txt END   -  person user270488    schedule 10.07.2014
comment
ВЫШЕУКАЗАННЫЙ СЦЕНАРИЙ ДАЕТ МНЕ НУЖНО.   -  person user270488    schedule 10.07.2014


Ответы (2)


В этом смысле я анализирую время по-разному. Я настраиваюсь в зависимости от сервера или рабочей станции, на которую я помещаю командный файл. Нет, в этом смысле он не очень портативный, но его достаточно легко настроить.

Если ваш краткий формат даты - мм / дд / гггг, простой способ

SET DT=%date:/=-%
ECHO New File > %DT%.txt

Это делает "/" в короткой дате "-", что совместимо с именами файлов.

Для большинства серверных приложений я делаю все возможное и выделяю MM / DD и т. Д .:

SET DD=%date:~0,2%
SET MM=%date:~3,2%
SET YY=%date:~8,2%
SET YYYY=%date:~6,4%
SET DT=<your desired combo of month, day, year>
ECHO New File > %DT%.txt

На этом этапе для меня это очень просто, и я избегаю использования FOR циклов, которые анализируют дату и время, чтобы работать независимо от местоположения или региональных настроек. Что для меня не важно.

По сути, это то, что находится в этой ссылке , также предоставляется foxidrive. У SO есть несколько вариантов.

person UserUnknown    schedule 10.07.2014

Ниже приведен индивидуальный метод создания файлов с именами в качестве даты. Он также содержит некоторые предварительно типизированные данные, так что вы можете создавать их только во время создания и экономить свое время от повседневных действий.

Я установил Y, то есть год как 2020, M, то есть месяц как 09, а день автоматически генерируется из цикла for от 1 до 31.

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET PATH=D:\ABHISHEK_DUTTA\WORK\DAILY_LOGS\
SET Y=2020
SET M=09
FOR /L %%I IN (1,1,31) DO ( 
  IF %%I GTR 9 (SET "D=%%I") ELSE (SET "D=0%%I")  
  SET FNAME=%PATH%%Y%%M%!D!.txt
  (ECHO Notes for !D!-%M%-%Y%.
  ECHO Discussions 
  ECHO 1.  
  ECHO 2.  
  ECHO Remark) > !FNAME!
)

Он проверяет, больше ли переменная I, чем 9, в противном случае объединяет 0.

В FNAME, то есть объединяется имя файла, с которым файл должен быть создан.

person Abhishek Dutta    schedule 03.09.2020