russianracer201507
17-08-2016, 15:11
Доброго времени суток. Хочу спросить как в батнике к имени файла добавлять текущие дату и время. Можно и такого формата: 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
У меня работала такая команда:
@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