Здравствуйте, adontz, Вы писали:
A>Здравствуйте, Алексей Александров, Вы писали:
A>Я почему-то думал, что для серьёзных вещей есть VBScript + WSH
Спору нет. Для еще более серьезных вещей есть еще более серьезные языки. Мне вот Перл нравится (правда, его к сожалению в Виндах нет по умолчанию). Но целью было не показать, как можно решать задачи на других языках, а как можно решать эти задачи лучше на командном языке.
It's kind of fun to do the impossible (Walt Disney)
Здравствуйте, adontz, Вы писали:
A>Я почему-то думал, что для серьёзных вещей есть VBScript + WSH
Но по VBScript нет встроенной в винду документации. Я вот никак не соберусь найти эти доки в инете и сидеть разбираться. Проще или bat файл написать, или консольное приложение.
Где, кстати, можно наиболее полную документацию найти, в библиотеке MSDN, насколько я понимаю?
АА>Авторы: АА> Алексей Александров
АА>Аннотация: АА>Статья рассказывает о малоизвестных возможностях командного языка Windows.
Мне еще не посчастливилось прочитать вашу статью и пока не знаю есть ли там ответ на интересующий меня вопрос. Поэтому, если не трудно ответить, у меня проблема.
Есть ли комманда аналогичная функции Sleep(timeout) ?
Или как ее можно реализовать с помощью батцч комманд ?
Кстати.
Вот написанный на bat-файле сканер сети на предмет расшаренных ресурсов.
Работает всё только под Windows 2000 и выше (да и обязательно под английской, иначе там надо будет скорее всего магическую строчку поменять).
Результаты выводятся в stdout.
Ну и вообще как пример может кому пригодится.
@echo off
if .%scan_run%.==.. goto set_delayed_env
call :comp_list >$temp1$.txt
for /f %%a in ($temp1$.txt) do (
call :dump_comp %%a
)
del $temp1$.txt
goto end
:comp_list
net view|find "\\"
goto end
:dump_comp
set comp_to_scan=%1
net view %comp_to_scan%|find "Disk">$temp2$.txt
for /f "tokens=*" %%a in ($temp2$.txt) do (
set stemp=%%a
set stemp=!stemp:~0,-24!
dir /b /s %comp_to_scan%\!stemp!
)
del $temp2$.txt
goto end
:set_delayed_env
set scan_run=true
cmd.exe /v:on /c %0
:end
Здравствуйте, Donz, Вы писали:
OE>> сначала №1 до конца D>Это в смысле просьба к людям, или констатация факта, что сначала №1, а потом батаника (надпись админ несколько смутила)?
А вот один из способов сделать upcase строки (проверено только под Windows XP).
Русские символы должны быть в DOS-кодировке.
@echo off
set str_to_upcase=this is a test (проверка)
find "dummy" "1:\%str_to_upcase%" >$temp$.txt 2>&1
for /f "delims=\ tokens=1,2*" %%a in ($temp$.txt) do set str_result=%%b
del $temp$.txt
echo %str_to_upcase%
echo %str_result%
Здравствуйте, Donz, Вы писали:
D>Здравствуйте, adontz, Вы писали:
A>>Я почему-то думал, что для серьёзных вещей есть VBScript + WSH
D>Но по VBScript нет встроенной в винду документации. Я вот никак не соберусь найти эти доки в инете и сидеть разбираться. Проще или bat файл написать, или консольное приложение. D>Где, кстати, можно наиболее полную документацию найти, в библиотеке MSDN, насколько я понимаю?
Не оюязательно, на сайте M$ есть, ищи "scrdoc56en.exe" , кстати у них ещё есть "System Administration Scripting Guide
Script Repository"(netscrpt.exe) достаточно большой репозитарий готовых скриптов на разные случаи жизни, но всё одно для меня Python рулит, когда надо біло послать "magic packet" серверу для включения(Wake-On-Lan) в определённое время(Ну поскупились почему-то инженеры Интела на включение этой опции в БИОС мамки), то он помог решить эту задачу самой меншей кровью, всего 10 строчек и никаких дополнительных програм кроме самого Питона, который итак стоял на машине(Кстати будто есть ещё способ через WMI разбудить машину, но он почему-то не отрабатывал).
АА>Статья рассказывает о малоизвестных возможностях командного языка Windows.
Хорошая статья. Первой мыслью после прочтения названия было, а кому оно нужно, ведь для себя я давно уже выбрал
Python, sh(Cygwin), WSH(JS) в порядке убывания важности, но всё таки иногда быстрее использовать *.cmd (cmd я называю как раз потому,
что в 98-й командный и язык и интерпритатор были достаточно убогим ну и cmd расширение в 98-й не распознавалось как испольнительное, єто уходит корнями, когда я ещё держал 2 операционных на машине и для различения для какой винды скрипты).
Автор по сути привёл именно использование в тех случаях,когда быстрее использовать *.cmd , а для меня
единственный случай когда я запускаю батники,
это для передачи кучи дополнительных опций для nmake, bjam и других или для того чтобы Питон использовал
ту же консоль из какой я его запускаю и опять же для передачи ему дополнительных параметров.