Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Дата/время создания в имени файла

Ответить
Настройки темы
CMD/BAT - [решено] Дата/время создания в имени файла

Пользователь


Сообщения: 54
Благодарности: 5

Профиль | Отправить PM | Цитировать


Сделал простенький батник, закинул его в шедулер, все работает
Код: Выделить весь код
xcopy "D:\docs\new\1с.dba" "F:\backup" /F /Y
интересует такой вопрос: как в конечной папке бэкапа задать файлу другое имя, например, 1c-dd-mm-yyyy-hh-mm.dba. Знаю что можно переименовать создавшийся файл командой
Код: Выделить весь код
rename "F:\backup\1c.dba" "new_name.dba"
но как сделать так, чтобы автоматически туда цеплялась дата. Заранее спасибо

Отправлено: 16:51, 06-04-2012

 


Moderator


Сообщения: 53589
Благодарности: 15546

Профиль | Отправить PM | Цитировать


Цитата art.andr:
например, 1c-dd-mm-yyyy-hh-mm.dba
Например:
Код: Выделить весь код
For /F "Delims=." %%I In ('WMIC.exe OS Get LocalDateTime ^| Find "."') Do Set DT=%%I
Set FileName=1c-%DT:~6,2%-%DT:~4,2%-%DT:~0,4%-%DT:~8,2%-%DT:~10,2%.dba
Copy /Y "D:\docs\new\1с.dba" "F:\backup\%FileName%"
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:23, 06-04-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 54
Благодарности: 5

Профиль | Отправить PM | Цитировать


Petya V4sechkin,
после выполнения выдается сообщение:
Код: Выделить весь код
C:\Users\user\Desktop>For /F "Delims=." %I In ('WMIC.exe OS Get LocalDateTime | Find "."') Do Set DT=%I
"WMIC.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

C:\Users\user\Desktop>Set FileName=1c-~6,2DT:~4,2DT:~0,4DT:~8,2DT:~10,2.dba

C:\Users\user\Desktop>Copy /Y "D:\docs\new\1c.dba" "F:\backup\1c-~6,2DT:~4,2DT:
~0,4DT:~8,2DT:~10,2.dba"
Синтаксическая ошибка в имени файла, имени папки или метке тома.
Скопировано файлов:         0.

C:\Users\user\Desktop>pause
Немного покопавшись в дебрях рунета нашел следующее:
Wmic.exe – консольная утилита для вызова объектов и методов WMI (WMI Console) – присутствует только в Windows XP и Windows Server 2003.
У меня же стоит win7 x64

Отправлено: 09:22, 09-04-2012 | #3



Moderator


Сообщения: 53589
Благодарности: 15546

Профиль | Отправить PM | Цитировать


Удалено.

Последний раз редактировалось Petya V4sechkin, 09-04-2012 в 11:00. Причина: не то.


Отправлено: 09:25, 09-04-2012 | #4


Пользователь


Сообщения: 54
Благодарности: 5

Профиль | Отправить PM | Цитировать


Цитата Petya V4sechkin:
For /F "Delims=." %%I In ('WMIC OS Get LocalDateTime ^| Find "."') Do Set DT=%%I Set FileName=1c-%DT:~6,2%-%DT:~4,2%-%DT:~0,4%-%DT:~8,2%-%DT:~10,2%.dba Copy /Y "D:\docs\new\1с.dba" "F:\backup\%FileName%" »
вылетает та же ошибка:
"WMIC.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

по-моему в предложенном Вами втором варианте нет никаких отличий от первого

Отправлено: 10:10, 09-04-2012 | #5



Moderator


Сообщения: 53589
Благодарности: 15546

Профиль | Отправить PM | Цитировать


Цитата art.andr:
У меня же стоит win7 x64
Без разницы.
Файл WMIC.exe должен быть в папке \Windows\System32\wbem

А путь прописан в системной переменной PATH.
Это в нормальной системе. По умолчанию.
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:23, 09-04-2012 | #6


Пользователь


Сообщения: 54
Благодарности: 5

Профиль | Отправить PM | Цитировать


хм, действительно, файл wmic.exe лежит в %systemroot%\system32\wbem
также он находится в %systemroot%\SysWow64\wbem

но при вызове из cmd выдает:
C:\Users\user>wmic.exe /?
"wmic.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

если же явно указать путь через cd c:\windows\system32\wbem и далее прописать wmic /? то все работает

однако, ввожу команду руками:
c:\Windows\System32\wbem>For /F "Delims=." %I In ('WMIC OS Get LocalDateTime ^|
Find "."') Do Set DT=%%I

c:\Windows\System32\wbem>Set DT=%20120409112441

c:\Windows\System32\wbem>set FileName=1c-~6,2DT:~4,2DT:~0,4DT:~8,2DT:~10,2.dba

c:\Windows\System32\wbem>copy /y "D:\docs\new\1c.dba" "F:\backup\%FileName%"
Синтаксическая ошибка в имени файла, имени папки или метке тома.
Скопировано файлов: 0.

Отправлено: 11:26, 09-04-2012 | #7



Moderator


Сообщения: 53589
Благодарности: 15546

Профиль | Отправить PM | Цитировать


Цитата art.andr:
но при вызове из cmd выдает
Цитата Petya V4sechkin:
А путь прописан в системной переменной PATH.
Это в нормальной системе
У вас проблема с переменной PATH, в Windows 7 значение по умолчанию
Код: Выделить весь код
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:29, 09-04-2012 | #8


Пользователь


Сообщения: 54
Благодарности: 5

Профиль | Отправить PM | Цитировать


так, переменной Path нет в данной ветке реестра. Есть переменная PSModulePath значение которой сейчас C:\windows\system32\WindowsPowerShell\v1.0\Modules\ править ее получается?

P.S. разобрался, создал переменную PATH со значением %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShel l\v1.0\
и батник запустился. Спасибо большое Petya V4sechkin

Последний раз редактировалось art.andr, 09-04-2012 в 15:05.


Отправлено: 14:39, 09-04-2012 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Дата/время создания в имени файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Дата и время изменения файла lorents Скриптовые языки администрирования Windows 19 01-02-2015 19:28
CMD/BAT - [решено] Как создать папку имя которой будет дата создания файла ? Vitaly_Sigov Скриптовые языки администрирования Windows 16 15-05-2012 07:13
[решено] Как установить время создания файла с точностью до миллисекунды? elakt AutoIt 5 14-05-2011 22:38
ALTLinux - Как наложить на JPG текст (дата создания файла) user51 Общий по Linux 6 30-06-2008 15:37
Время создания файла Alexey1974 Microsoft Windows NT/2000/2003 0 09-04-2007 20:28




 
Переход