Показать полную графическую версию : помогите с %data%
rkudinov@vk
03-08-2016, 11:15
доброго времени суток.
есть кусок батника:
ECHO %DATE%
set /a D=%date:~0,2% - 1
set M=%date:~3,2%
set Y=%date:~8,2%
set DT=%D%%M%%Y%
echo %DT%
rename pp.txt p-%DT%.txt
проблема в том, что вместо желаемого p-020816.txt получается p-20816.txt.
помогите
проблема в том, что вместо желаемого p-020816.txt получается p-20816.txt. »
Это не проблема, так и должно быть.
Напишите, что Вы хотите получить? Вчерашнюю дату? Так она считается совсем не так (плюс, учитывая, что сегодня может быть первый день месяца и года).
rkudinov@vk
03-08-2016, 15:06
Получить хотел вчерашнию дату что бы с нуля после p- начиналась, но так понимаю не получится..(
А что не так считается (учитывать первый день не нужно) ?
rkudinov@vk,
Допустим сегодня 01.03.2016, пораскиньте мозгами, отняв отсюда один день, что получится? А ведь и год надо учесть (да и про високосный не забыть :) ).
Если разово и для точно известного конкретного случая пятая строка вашего кода
set DT=%D%%M%%Y%& if %D% leq 9 set DT=0%D%%M%%Y%
все выше сказанное мною - в силе.
rkudinov@vk
03-08-2016, 17:12
Спасибо, помогло.
По поводу первого дня: спасибо за предупреждения. Решу эту задачку самостоятельно.
leg - считает количество символов в переменной?
leg - считает количество символов в переменной? »
if /?
(меньше-равно)
Решу эту задачку самостоятельно. »
Можете порыться по разделу — решалась здесь неоднократно.
leg - считает количество символов в переменной? »
«leq». Где читать — показал выше коллега alpap.
Решу эту задачку самостоятельно. »
В принципе, за вас ее уже дааавно решили:
@echo off
powershell "(get-date).adddays(-1).tostring('ddMMyy')"|set/p x=^& cmd/v/c ren "pp.txt" "p-!x!.txt"
exit
.
alpap, в этом случае пакетный файл излишен.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.