Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

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

Новый участник


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


Конфигурация

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


Доброго времени суток. Хочу спросить как в батнике к имени файла добавлять текущие дату и время. Можно и такого формата: 16.08.2016 (22-49-41). Я не знаю часового пояса конечного пользователя моим файлом, поэтому хотелось, чтобы команда не зависела от времени системы.Но дальше будет интересовать перемещение файла в другую папку. Например файл nsb был в папке CSRPacker2, а я хочу переместить его в папку Buckup, которая находится рядом с батником. Мне не принципиально переместить ли сначала nsb в Buckup и после его переименовать или же сначала переименовать, а после переместить. Я читал похожие случаи, но у меня либо не срабатывала команда, либо переименовывала не очень хорошо.
У меня работала такая команда:
Код: Выделить весь код
@echo off
for /F "tokens=1-4 usebackq delims=. " %%1 in (`time /t`) do set mydate=%%4.%%3.%%2
ren nsb nsb%mydate%
но я не доволен результатом. Она переименовывает без текущего числа, используя только год и месяц. Заранее благодарю за помощь
Вот часть моего .bat:
Код: Выделить весь код
@echo off
Echo 1 - Меню работы с nsb
Echo 2 - Меню работы с scb
SET /P var="Меню: " 
if  %var% equ 1 goto menu_nsb
if  %var% equ 2 goto menu

:menu_nsb
Echo Выберите задачу:
Echo 1 - Распаковать nsb сплошным текстом
Echo 2 - Распаковать nsb текстом с отступами
Echo 3 - Запаковать nsb из сплошного текста
Echo 4 - Запаковать nsb из текста с отступами

set /p var="Задача: "

@if %var% equ 1 goto first
@if %var% equ 2 goto second
@if %var% equ 3 goto third
@if %var% equ 4 goto four


cls
echo "%var%" is not a valid option.
echo.
goto :menu_nsb

:first
CSRPacker.exe unpack -i nsb
goto menu_nsb

:second
CSRPacker.exe unpack -p -i nsb
goto menu_nsb

:third
CSRPacker.exe pack -i nsb.txt

@Echo Off
md .\Buckup
move nsb ./Buckup

@echo Старый nsb файл перемещен в папку buckup

ren nsb.txt.sav nsb
pause
exit

Отправлено: 15:11, 17-08-2016

 

Новый участник


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

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


Теперь я нашел такую команду:
Код: Выделить весь код
ren nsb "%Date:~6,4%%Date:~3,2%%Date:~0,2%%TIME:~0,2%%TIME:~0,2%%TIME:~6,2% nsb"
Она переименовала мой nsb файл в 20160817151543 nsb.
А можно ли сделать такой формат: 2016.08.17(15:15:43) nsb
или что-то подобное?

Все с переименование разобрался. А как переместить файл, к имени которого добавлено время и дата в папку, которая находится рядом.
Команду использовал такую:
Код: Выделить весь код
ren nsb "nsb %Date:~0,2%.%Date:~3,2%.%Date:~6,4% (%TIME:~0,2%.%TIME:~0,2%.%TIME:~6,2%)"
.
файл nsb был переименован в nsb 17.08.2016 (15.15.39). теперь как его переместить в папку Buckup?

Отправлено: 15:24, 17-08-2016 | #2



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

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


Ветеран


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

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


Код: Выделить весь код
ren nsb "Buckup\nsb %Date:~0,2%.%Date:~3,2%.%Date:~6,4% (%TIME:~0,2%.%TIME:~0,2%.%TIME:~6,2%)"
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:07, 17-08-2016 | #3


Новый участник


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

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


Цитата Iska:
Код:
ren nsb "Buckup\nsb %Date:~0,2%.%Date:~3,2%.%Date:~6,4% (%TIME:~0,2%.%TIME:~0,2%.%TIME:~6,2%)" »
Спасибо за отклик, но я уже сам разобрался

Отправлено: 20:16, 17-08-2016 | #4


Ветеран


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

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


Никогда не понимал людей, которые в именах файлов используют пробелы или служебные символы, типа круглых скобок

-------
консольный клиент telegram для Windows: www.elapser.info


Отправлено: 11:18, 18-08-2016 | #5


Ветеран


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

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


Опиум, пробелы — легко. А вот круглые скобки — да, действительно не есть хорошо для пакетной обработки интерпретатором команд.

Отправлено: 14:52, 18-08-2016 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - копирование выбранного файла в определенное место и добавление к имени файла даты x800 Скриптовые языки администрирования Windows 0 19-02-2014 20:39
CMD/BAT - [решено] Добавление текущей даты в начало имени файла Orlov_Pyotr Скриптовые языки администрирования Windows 6 27-02-2013 13:30
CMD/BAT - [решено] Добавление к файлу его имени и даты и его печать SergeyVD Скриптовые языки администрирования Windows 2 11-03-2012 16:41
Разное - Добавление имени файла в начало каждой строки. CkapHa Программирование и базы данных 2 02-01-2012 22:13
CMD/BAT - [решено] Добавление к имени файла имя папки Arsenik77 Скриптовые языки администрирования Windows 12 13-08-2011 20:28




 
Переход