В общем, все получилось. Спасибо огромное!
» Задачи на bat-файлах 8
Насчёт дескрипторов, вот это:
1>nul 2>&1
и это:
1>nul 2>nul
одинаково?
1>nul 2>&1
и это:
1>nul 2>nul
одинаково?
Цитата:
есть скрипт (проверка наличия папки)
Код:cd\
dir /b/ad "G:\scripts\TEST"
if exist "G:\scripts\TEST\s s\nul" echo.hi
pause
вот листинг
G:\scripts\TEST>cd\
G:\>dir /b/ad "G:\scripts\TEST"
s s
G:\>if exist "G:\scripts\TEST\s s\nul" echo.hi
G:\>pause
Для продолжения нажмите любую клавишу . . .
что я делаю не так?
Добавлено:
K1ska
Цитата:
я тока начинаю в это вникать думаю для начала будет достаточно... заочница...
Уильям Станек - Командная строка Microsoft Windows
Коллеги помогите.
Запутался я.
Как получить переменную "T" равную настоящая дата и время минус 5 минут. ....
Нужно для выбора файлов для обработки.
Т.е. операция должна проводится только над файлами с датой создания не старше 5 минут.
Остальные файлы должны игнорироваться.
(если можно, то с пояснениями в тексте, чтоб потом сам делал, а не других дёргал)
Запутался я.
Как получить переменную "T" равную настоящая дата и время минус 5 минут. ....
Нужно для выбора файлов для обработки.
Т.е. операция должна проводится только над файлами с датой создания не старше 5 минут.
Остальные файлы должны игнорироваться.
(если можно, то с пояснениями в тексте, чтоб потом сам делал, а не других дёргал)
king_stiven
Цитата:
А если не nul а какой-то файл - то очень даже будет.
1>nul 2>&1 = перенаправить stdout в нуль, stderr в stdout
Добавлено:
mugil_cephalus
Цитата:
if exist "G:\scripts\TEST\s s\nul" чего-то глючит: не понимает когда одновременно \nul и кавычки. Порознь - понимает.
так что если надо проверять наличие каталога c пробелами в пути, то наверно придется так:
dir /b "G:\scripts\TEST\s s\" 1>nul 2>&1 && echo.hi
Цитата:
Насчёт дескрипторов, вот это:если в нуль отправляешь - практической разницы не будет.
1>nul 2>&1
и это:
1>nul 2>nul
одинаково?
А если не nul а какой-то файл - то очень даже будет.
1>nul 2>&1 = перенаправить stdout в нуль, stderr в stdout
Добавлено:
mugil_cephalus
Цитата:
что я делаю не так?да ты то вроде всё правильно делаешь - это
if exist "G:\scripts\TEST\s s\nul" чего-то глючит: не понимает когда одновременно \nul и кавычки. Порознь - понимает.
так что если надо проверять наличие каталога c пробелами в пути, то наверно придется так:
dir /b "G:\scripts\TEST\s s\" 1>nul 2>&1 && echo.hi
wolf0425
Цитата:
спасибо большое
Добавлено:
K1ska
Цитата:
это по задаче № 1 - ?
да, можно, если известны диск и путь до файла
Цитата:
да ты то вроде всё правильно делаешь - это
if exist "G:\scripts\TEST\s s\nul" чего-то глючит: не понимает когда одновременно \nul и кавычки. Порознь - понимает.
спасибо большое
Добавлено:
K1ska
Цитата:
mugil_cephalus а через функцию IF возможна это сделать
Как нить так
if [not] exist fail.txt else fail.txt не найден
это по задаче № 1 - ?
да, можно, если известны диск и путь до файла
gryu
В шапке, там vbs скрипты есть со временем, их поправить наверно можно, только если не здесь то на их форуме спроси.
В шапке, там vbs скрипты есть со временем, их поправить наверно можно, только если не здесь то на их форуме спроси.
king_stiven
Цитата:
Хотелось бы командной строкой.
Неужели нет такой команды типа find /путь/ -mtime +180 -mindepth 1 -delete в *nix?
Означает "найти и удалить все файлы старше 180 дней"
Цитата:
В шапке, там vbs скрипты есть со временем,гм. vbs это хорошо, но мешать всё в кучу напряжно.
Хотелось бы командной строкой.
Неужели нет такой команды типа find /путь/ -mtime +180 -mindepth 1 -delete в *nix?
Означает "найти и удалить все файлы старше 180 дней"
tails80486
Цитата:
знаю gui-решение:
Восстановление данных из .chk файлов см. CHKParser32
Автоматическая сортировка
Вот, в принципе, и всё, целый один chk-файл мы опознали и вернули на место. Но ведь это только один файл, а их может быть порядка тысячи и более… Что же, просматривать все файлы вручную? Правильно! Конечно же нет… Благодарим Михаила Маврицина, который написал, с моей точки зрения, наиболее толковую из бесплатных программ для автоматической сортировки .chk. Итак, приветствуем нашего помощника – CHKParser32.
Цитата:
задача такая:
нужно скрипт которому скармливаешь файл (без расширения) он определяет тип файла(по содержимому) и возвращает тип файла или расширение
знаю gui-решение:
Восстановление данных из .chk файлов см. CHKParser32
Автоматическая сортировка
Вот, в принципе, и всё, целый один chk-файл мы опознали и вернули на место. Но ведь это только один файл, а их может быть порядка тысячи и более… Что же, просматривать все файлы вручную? Правильно! Конечно же нет… Благодарим Михаила Маврицина, который написал, с моей точки зрения, наиболее толковую из бесплатных программ для автоматической сортировки .chk. Итак, приветствуем нашего помощника – CHKParser32.
Цитата:
Означает "найти и удалить все файлы старше 180 дней"нету. в стандартном комплекте вообще с обработкой дат туго.
forfile.exe умеет понять на тему 180 дней, но у дельта даты именно в днях - минуты она не поймет.
gryu
так там эти vbs файлики из пары строк сразу и создаются из комстроки.
так там эти vbs файлики из пары строк сразу и создаются из комстроки.
Доброго времени суток.
Подскажите плиз - нужно запустить батник из другого:
echo @echo off > 1.bat
echo start /wait wget --http-user=admin --http-password=************ http://192.168.0.1/restart.cgi >> 1.bat
echo del restart.cgi ^>^>nul >> 1.bat
echo echo Перезагрузка займет две минуты...>>1.bat
echo nircmd wait 122000 >>1.bat
echo nircmd cmdwait 1000 killprocess cmd.exe >>1.bat
echo del 1.bat ^>^>nul >> 1.bat
start 1.bat
после этого нужно закрыть окно командной строки и удалить 1.bat. Получается только одно - или закрыть, или удалить. Понятно почему так просиходит, но не понятно как совместить - и закрыть, и удалить...
Подскажите плиз - нужно запустить батник из другого:
echo @echo off > 1.bat
echo start /wait wget --http-user=admin --http-password=************ http://192.168.0.1/restart.cgi >> 1.bat
echo del restart.cgi ^>^>nul >> 1.bat
echo echo Перезагрузка займет две минуты...>>1.bat
echo nircmd wait 122000 >>1.bat
echo nircmd cmdwait 1000 killprocess cmd.exe >>1.bat
echo del 1.bat ^>^>nul >> 1.bat
start 1.bat
после этого нужно закрыть окно командной строки и удалить 1.bat. Получается только одно - или закрыть, или удалить. Понятно почему так просиходит, но не понятно как совместить - и закрыть, и удалить...
Цитата:
это по задаче № 1 - ?да
king_stiven
см ПМ.
см ПМ.
Dimau1981
расскажи - зачем тебе батник то прибивать принудительно, да ещё так варварски, почему не дождаться чтоб он просто закончился и закрыл свое окно?
Код: @echo off
1> %temp%\reboot.bat (
echo @echo off
echo start /b cmd /c 2^>nul 1^>nul wget -t 1 -O - --http-user=admin --http-password=************ http://192.168.0.1/restart.cgi
echo echo Перезагрузка займет две минуты...
echo ping -n 121 localhost ^>nul
echo del "%%~f0" ^& exit
)
start "rebooting" %temp%\reboot.bat
расскажи - зачем тебе батник то прибивать принудительно, да ещё так варварски, почему не дождаться чтоб он просто закончился и закрыл свое окно?
Код: @echo off
1> %temp%\reboot.bat (
echo @echo off
echo start /b cmd /c 2^>nul 1^>nul wget -t 1 -O - --http-user=admin --http-password=************ http://192.168.0.1/restart.cgi
echo echo Перезагрузка займет две минуты...
echo ping -n 121 localhost ^>nul
echo del "%%~f0" ^& exit
)
start "rebooting" %temp%\reboot.bat
K1ska
Код: rem @echo off
cd\
chcp 1251>nul
set "file=G:\scripts\TEST\klichko.bokser"
if exist "%file%" (echo.The file %file% exists.) else echo.The file %file% not found.
set "file="
chcp 866>nul
pause
Код: rem @echo off
cd\
chcp 1251>nul
set "file=G:\scripts\TEST\klichko.bokser"
if exist "%file%" (echo.The file %file% exists.) else echo.The file %file% not found.
set "file="
chcp 866>nul
pause
gryu
http://forum.ru-board.com/topic.cgi?forum=62&topic=19668&start=0&limit=1&m=4#1
http://forum.ru-board.com/topic.cgi?forum=62&topic=17154&start=379&limit=1&m=1#1
сделай пару движений мышкой и реши для себя, подходит тебе или нет.
http://forum.ru-board.com/topic.cgi?forum=62&topic=19668&start=0&limit=1&m=4#1
http://forum.ru-board.com/topic.cgi?forum=62&topic=17154&start=379&limit=1&m=1#1
сделай пару движений мышкой и реши для себя, подходит тебе или нет.
ustas1983
Цитата:
http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=1600#6
Цитата:
Всем спасибо за помощь большое! Получилось следующее:
Этот bat-фаил включает VPN соединение :
Код:rasphone -d "название"
Этот bat-фаил выключает VPN соединение :
Код:rasdial "название" /DISCONNECT
Все проверено, все работает. )
http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=1600#6
wolf0425, спасибо!
Прерывал, т.к. до этого - start /b cmd /c 2^>nul 1^>nul - не додумался...
Прерывал, т.к. до этого - start /b cmd /c 2^>nul 1^>nul - не додумался...
Доброе всем время суток. Нужна ваша помощь. Нужно сделать, чтобы при запуске bat файла, отменялось выполнение ПРЕДпоследнего назначенного задания. Я думаю сделать так: чтобы создавался тхт со списком всех заданий, из этого списка каким-то образов отсеивалось предпоследние задание и отменялось его выполнение.
Список создать вроди как получилось
mkdir %SYSTEMDRIVE%\OUT
schtasks >\OUT\temp.txt
Но понятия не имею как выполнить этот поиск. Зарание большое спасибо тем, кто поможет разобраться
Список создать вроди как получилось
mkdir %SYSTEMDRIVE%\OUT
schtasks >\OUT\temp.txt
Но понятия не имею как выполнить этот поиск. Зарание большое спасибо тем, кто поможет разобраться
anzibal
вот предпоследнее задание (но код требует кастомизации) :
chcp 1251>nul
for /f "tokens=1-4* skip=6 delims= " %%a in ('dir /a-d/o-d/tc %systemroot%\Tasks') do set "var=%%~e" &&goto:exit
:exit
pause
Цитата:
F:\Documents and Settings\admin>schtasks /?
SCHTASKS /параметр [аргументы]
Описание:
Позволяет администратору создавать, удалять, изменять и опрашивать
запланированные задачи в локальной или удаленной системе. Заменяет AT.exe.
Параметры:
/Create Создание запланированной задачи.
/Delete Удаление запланированной задачи или задач.
/Query Вывод данных о всех запланированных задачах.
/Change Изменение свойств запланированной задачи.
/Run Немедленное выполнение запланированной задачи.
/End Остановка выполняющейся запланированной задачи.
что значит отменялось?? это delete или end - ??
вот предпоследнее задание (но код требует кастомизации) :
chcp 1251>nul
for /f "tokens=1-4* skip=6 delims= " %%a in ('dir /a-d/o-d/tc %systemroot%\Tasks') do set "var=%%~e" &&goto:exit
:exit
pause
Цитата:
отменялось
F:\Documents and Settings\admin>schtasks /?
SCHTASKS /параметр [аргументы]
Описание:
Позволяет администратору создавать, удалять, изменять и опрашивать
запланированные задачи в локальной или удаленной системе. Заменяет AT.exe.
Параметры:
/Create Создание запланированной задачи.
/Delete Удаление запланированной задачи или задач.
/Query Вывод данных о всех запланированных задачах.
/Change Изменение свойств запланированной задачи.
/Run Немедленное выполнение запланированной задачи.
/End Остановка выполняющейся запланированной задачи.
что значит отменялось?? это delete или end - ??
delete....
У меня получилось отсортировать список.
с сохранением в файл.
CHCP 1251
schtasks >C:\temp.txt
for /F "skip=3 tokens=*" %%i in (temp.txt) do echo %%i >>"C:\spisok.txt"
Смотрел команду find но не понял как она действует.
У меня получилось отсортировать список.
с сохранением в файл.
CHCP 1251
schtasks >C:\temp.txt
for /F "skip=3 tokens=*" %%i in (temp.txt) do echo %%i >>"C:\spisok.txt"
Смотрел команду find но не понял как она действует.
anzibal
что у тебя показывает мой код?
что у тебя показывает мой код?
C:\>chcp 1251 1>nul
C:\>for /F "tokens=1-4* skip=6 delims= " %a in ('dir /a-d/o-d/tc C:\WINDOWS\Task
s') do set "var=%~e" && goto:exit
C:\>set "var=" && goto:exit
C:\>set "var=" && goto:exit
C:\>set "var=" && goto:exit
C:\>set "var=" && goto:exit
C:\>set "var=" && goto:exit
C:\>set "var=" && goto:exit
C:\>set "var=свободно" && goto:exit
C:\>pause
Для продолжения нажмите любую клавишу . . .
anzibal
введи в консоли dir /a-d/o-d/tc %systemroot%\Tasks и покажи какой у тебя формат отображения даты и времени
напримаеР, у меня -
01/28/2009 11:54 AM 284 AppleSoftwareUpdate.job
введи в консоли dir /a-d/o-d/tc %systemroot%\Tasks и покажи какой у тебя формат отображения даты и времени
напримаеР, у меня -
01/28/2009 11:54 AM 284 AppleSoftwareUpdate.job
05.04.2010 21:41 154 4.job
anzibal
тогда поменяй в коде tokens=1-3* ...... и set "var=%%~d" и запусти код - будет предпоследнее
тогда поменяй в коде tokens=1-3* ...... и set "var=%%~d" и запусти код - будет предпоследнее
C:\>chcp 1251 1>nul
C:\>for /F "tokens=1-3* skip=6 delims= " %a in ('dir /a-d/o-d/tc C:\WINDOWS\Task
s') do set "var=%~d" && goto:exit
C:\>set "var=5.job" && goto:exit
C:\>pause
Для продолжения нажмите любую клавишу . . .
После просмотра списка заданий, из 5 все 5 на месте
Тут изменил skip=6 на 5, теперь выводить как бы предпоследние
C:\>set "var=4.job" && goto:exit
Но опять же, в списке задание по прежнему висит
anzibal
это пока был код поиска
вот код удаления :
код удаления предпоследнего без предупреждения
chcp 1251>nul
for /f "tokens=1-3* skip=5 delims= " %%a in ('dir /a-d/o-d/tc %systemroot%\Tasks') do set "var=%%~d" &&goto:exit
:exit
set "var2=%var:~-4%"
if /i "_%var2%" equ "_.job" del /a: /q "%systemroot%\Tasks\%var%"
pause
вот упростил
chcp 1251>nul
for /f "tokens=1-3* skip=5 delims= " %%a in ('dir /a-d/o-d/tc %systemroot%\Tasks') do set "var=%%~d" &&goto:exit
:exit
if /i "_%var:~-4%" equ "_.job" del /a: /q "%systemroot%\Tasks\%var%"
pause
это пока был код поиска
вот код удаления :
код удаления предпоследнего без предупреждения
chcp 1251>nul
for /f "tokens=1-3* skip=5 delims= " %%a in ('dir /a-d/o-d/tc %systemroot%\Tasks') do set "var=%%~d" &&goto:exit
:exit
set "var2=%var:~-4%"
if /i "_%var2%" equ "_.job" del /a: /q "%systemroot%\Tasks\%var%"
pause
вот упростил
chcp 1251>nul
for /f "tokens=1-3* skip=5 delims= " %%a in ('dir /a-d/o-d/tc %systemroot%\Tasks') do set "var=%%~d" &&goto:exit
:exit
if /i "_%var:~-4%" equ "_.job" del /a: /q "%systemroot%\Tasks\%var%"
pause
А, всё понял. Блин интересная эта штука. Нужно заняться с этим, разобраться. Спасибо большое Вам за оказанную помощь.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
Предыдущая тема: XP не видит второй раздел на съемном USB-HDD
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.