CMD/BAT - помощь в написании

Ответить
Аватара пользователя
Ejik76

CMD/BAT - помощь в написании

Сообщение Ejik76 »

Доброго дня.

помогите с написанием пожалуйста.



необходимо:

если файл по пути \\имя пк\имя папки\"текущая дата минус 1"_ABV.txt есть

то продолжить выполнение скрипта

если нет то

exit



зы

формат даты в имени файла ддммгггг



спасибо
Аватара пользователя
DJ Mogarych

Re: CMD/BAT - помощь в написании

Сообщение DJ Mogarych »

Минус 1 что - год? месяц? день? час?
Аватара пользователя
Serguei Kouzmine

Re: CMD/BAT - помощь в написании

Сообщение Serguei Kouzmine »

@Ejik76 какими скрипт языками владеете - На каком уровне ?
Аватара пользователя
Serguei Kouzmine

Re: CMD/BAT - помощь в написании

Сообщение Serguei Kouzmine »

Цитата DJ Mogarych:



инус 1 что - год? месяц? день? час?
CMD/BAT - помощь в написании




минус день
Аватара пользователя
DJ Mogarych

Re: CMD/BAT - помощь в написании

Сообщение DJ Mogarych »

Powershell



Код:

Код: Выделить всё

if (-not(Test-Path "\\имя пк\имя папки\$((get-date).AddDays(-1) |get-date -f "ddMMyyyy")_ABV.txt")) {exit}
Аватара пользователя
Ejik76

Re: CMD/BAT - помощь в написании

Сообщение Ejik76 »

силами CMD это не решается? я правильно понимаю?
Аватара пользователя
Ejik76

Re: CMD/BAT - помощь в написании

Сообщение Ejik76 »

Цитата Ejik76:



силами CMD это не решается? я правильно понимаю?
CMD/BAT - помощь в написании




Решается, но чтобы корректно вычесть один день от текущей даты... необходимо учесть локаль в которой выдает дату ОС, написать зубодробильную псевдофункцию для преобразования из имени файла "ddMMyyyy"... в общем, через powershell реализуется всё гораздо проще...

Если есть потребность реализации исключительно на cmd, подождите коллегу megaloman, возможно, он заинтересуется и напишет код...

Но лично я порекомендовал бы, для использования скриптов именно, изучить powershell, Вам самому будет гораздо проще на нем реализовывать разные хотелки автоматизации...
Аватара пользователя
megaloman

Re: CMD/BAT - помощь в написании

Сообщение megaloman »

Ejik76, Громоздкий CMD за счёт процедуры корректного вычитания даты

Код:

Код: Выделить всё

@Echo Off
cls
	Call :FromDate_ddmmyyyy -1 %Date% "ddmmyyyy"
	Set "File=\\server\Test2\%ddmmyyyy%_ABV.txt"
	If Not Exist "%File%" (Echo File "%File%" not found &Pause &Exit /b 1)
	Echo File "%File%" exists and script continue 
pause
Exit /B 0
:FromDate_ddmmyyyy
rem Пересчет даты на заданное кол-во дней
rem В первом аргументе +- дни
rem Во втором аргументе дата в формате dd.mm.yyyy
rem В третем аргументе имя переменной в кавычках где получим новую дату в формате ddmmyyyy
rem Заимствовано viewtopic.php?t=13743
rem вызов Call :FromNow %DeltaDay% %Date% "ddmmyyyy"
rem результат в перемменной %ddmmyyyy%
 SetLocal
 Set "DT=%~2"
 Set yyyy=%DT:~-4%& set /a mm=100%DT:~3,2%%%100& set /a dd=100%DT:~,2%%%100
 Set /A JD=%~1+dd-32075+1461*(yyyy+4800+(mm-14)/12)/4+367*(mm-2-(mm-14)/12*12)/12-3*((yyyy+4900+(mm-14)/12)/100)/4
 Set /A L=JD+68569,N=4*L/146097,L=L-(146097*N+3)/4,I=4000*(L+1)/1461001
 Set /A L=L-1461*I/4+31,J=80*L/2447,K=L-2447*J/80,L=J/11
 Set /A J=J+2-12*L,I=100*(N-49)+I+L
 Set /A yyyy=I,mm=100+J,dd=100+K
 EndLocal& Set "%~3=%dd:~-2%%mm:~-2%%yyyy%"
Exit /B 0


Цитата YuS_2:



Если есть потребность реализации исключительно на cmd, подождите коллегу ....
CMD/BAT - помощь в написании




Похоже батникописателей не осталось. Надеюсь, погода улучшится и Iska вернется, я многому у него научился
Аватара пользователя
Serguei Kouzmine

Re: CMD/BAT - помощь в написании

Сообщение Serguei Kouzmine »

Цитата megaloman:



батникописателей не осталось.
CMD/BAT - помощь в написании




--- не все фрукты и овощи одинаково полезны
Аватара пользователя
YuS_2

Re: CMD/BAT - помощь в написании

Сообщение YuS_2 »

Цитата megaloman:



Похоже батникописателей не осталось.
CMD/BAT - помощь в написании




Да... всё течёт, всё меняется... со временем... решает необходимость. Если есть более функциональные и простые в реализации способы, то ведь нет никакой необходимости использовать устаревшие и статичные инструменты (по-простому: пользоваться коловоротом можно... если электричества нет под рукой), как-то так...


Цитата megaloman:



Надеюсь, погода улучшится и Iska вернется, я многому у него научился
CMD/BAT - помощь в написании




Да, что-то давно его не видно... последний раз заглядывал в сентябре, не случилось ли чего...
Ответить

Вернуться в «Скриптовые языки администрирования Windows»