Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)

Модерирует : gyra, Maz

Widok (03-03-2010 16:29): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
(часть 1) (часть 2)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Задачи на bat-файлах 5
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Урок bat-аники (для начинающих)
· Курс лекций для начинающих. Полезно и просто описано
· Набор GNU утилит для win32
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
· Справка по командам в виде Html
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
· Уильям Станек - Командная строка Microsoft Windows (вплоть до w2k3)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек)
· Переход из 32-битной версии cmd.exe в 64-битную

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:38 10-03-2009 | Исправлено: TechnicsKuzya, 13:54 27-12-2009
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sunnych
Я проверить не могу. Попробуй "/node:xxx.xxx.0.1" или /node:"xxx.xxx.0.1"

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 18:42 11-11-2009
ZolotnikOV



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
такой вопрос возник:
написал батник, скомпилил его через Quick Batch File Compiler. в результате Avira пишет что это вирус. на вирустотале показало 19% что вирус. как исправить такое неподобство)
спасибо.

----------
— Ах, вы думали? Вы, значит, иногда думаете? Вы — мыслитель? Как ваша фамилия, мыслитель? Спиноза? Жан-Жак Руссо? Марк Аврелий?

Всего записей: 393 | Зарегистр. 26-11-2007 | Отправлено: 00:46 12-11-2009
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZolotnikOV
Попробуй другую программу.

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:15 12-11-2009
ZolotnikOV



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
Вы быkv правы. использовал  
ExeScript – компилятор VBS, BAT, JS, WSF и WSH скриптов
результат на вирустотал - 0%
спасибо вам большое)


----------
— Ах, вы думали? Вы, значит, иногда думаете? Вы — мыслитель? Как ваша фамилия, мыслитель? Спиноза? Жан-Жак Руссо? Марк Аврелий?

Всего записей: 393 | Зарегистр. 26-11-2007 | Отправлено: 12:04 12-11-2009
Maqentaer



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вот, я написал небольшой скрип, который переписывает только уникальные (не повторяющиеся) строки из input.txt в output.txt
может кому пригодится

Код:
@echo off
del output.txt 2>nul
for /f "delims=" %%a in (input.txt) do (
    if not "%%a" == "" (
        call :write_if_one "%%a"
    )
)
goto :eof
 
:write_if_one
if not exist output.txt (
    echo.%~1>output.txt
) else (
    findstr /b /e /c:"%~1" output.txt>nul
    if errorlevel == 1 echo.%~1>>output.txt
)

тут игнорируются пустые строки и имеется болезнь с кавычками,
но поставленную задачу этот скрипт решал.

Всего записей: 71 | Зарегистр. 18-05-2008 | Отправлено: 21:22 12-11-2009
William Gates

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задача для знатоков. Есть директория А в которой много поддиректорий 1,2,3 и т.д. и в них файлики с одним и тем же именем, напр. file.zip. Нужно скопировать каждый такой файлик в каталог В, в соответствующую поддиректорию (если файл был в каталоге 1, он и должен быть скопирован в каталог с именем 1), далее в директорию с текущей датой. Например, файл из каталога A\1\file.zip должен быть в каталоге  В\1\13.11.2009\file.zip. Заранее благодарю.

Всего записей: 22 | Зарегистр. 12-10-2007 | Отправлено: 17:18 13-11-2009
ZolotnikOV



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ExeScript 3.0
предлагаю добавить в шапку как альтернативу Quick Batch File Compiler.(ИМХО лучшую)
правда прога достаточно часто обновляется уже версия 3.0.9.0, а с утра еще была 3.0.8.0.

----------
— Ах, вы думали? Вы, значит, иногда думаете? Вы — мыслитель? Как ваша фамилия, мыслитель? Спиноза? Жан-Жак Руссо? Марк Аврелий?

Всего записей: 393 | Зарегистр. 26-11-2007 | Отправлено: 19:57 14-11-2009
s1nfrompvl



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
друзья, не подскажите с моей маленькой задачей..
пишу скрипт для скачивания flv видео с локального сервиса.
скачать html страницу я могу.. wget или curl поможет..
wget -N http://local.video/rh7ot2dott75
теперь хотелось вытащить название видео, оно хранится между тегами <title> и </title> и в Unicode. =(.
тут я попытался через findstr
findstr "<title>" rh7ot2dott75 > temp
 
получил в temp
    <title>&#9576;Т&#9576;&#9557;&#9576;&#9508;&#9576;&#9569;&#9576;&#9563; &#9576;в&#9576;&#9569;&#9572;Б&#9572;В</title>
 
конечно через chcp 65001 можно посмотреть текст, но как вытащить название видео между тегами я не понял. =(. и еще нужно из UTF-8 сделать в win1251... пытался через xcode, у меня не получилось.
 
и еще.. ссылка на страницу имеет вид http://local.video/rh7ot2dott75, а ссылка на видео http://file.local.video/v/rh7ot2dott75
т.е. из url нужно взять последнюю часть и сформировать ссылку на видео..
 
ну и в итоге собрать все в кучу..
 
wget -N http://file.local.video/v/rh7ot2dott75 -O %FileName%.flv
 
з.ы. еще нужно в имени видео исключить символы, которые нельзя использовать в названии файла.. например / \ : * ? " < > |
тут я подумал можно сохранить ссылку в файл, а потом через sed заменить все ненужные символы, а потом через wget -i загрузить его.
з.ы.ы. я не прошу писать скрипт за меня.. я рад хотя бы намеками и частичными решениями как можно реализовать данный скрипт..

Всего записей: 62 | Зарегистр. 07-04-2008 | Отправлено: 09:38 15-11-2009
mugil_cephalus

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
s1nfrompvl
вот для этой задачи
Цитата:
Напомню второй вопрос, есть текстовый файл, в нем строка выглядит так: <a href="https://login.site.com/app/signup/confirm.cgi?u=name1&uid=2074563"><font face="verdana,helvetica" color="#FF6905" style="font-size: 11px">https://login.site.com/app/signup/confirm.cgi?u=name1&uid=2074563</font></a><br><br> (все написано в одну строку, напоминаю, нужно оставить только 1 url, сайт не меняется, меняются только name1 и 2074563, причем name1 может быть больше 5 символов. Текстовые файлы распологаются, допустим в папке C:\test2. Можно ли что нибудь сделать не прибегая к сторонним утилитам?  

я писал такой код  

Цитата:
Код:echo on  
for %%A in (C:\test2\*.txt) do call:_1 %%A  
set var1=  
set var2=  
goto :eof  
 
:_1  
for /f "tokens=3 delims=: " %%i in ('"type %1"') do set "var1=%%i"  
set "var2=%var1:~0,-7%"  
0>nul 1>C:\test2\%~n1_.txt set /p="https:%var2%" && del /q %1 && ren C:\test2\%~n1_.txt %~nx1  
goto :eof  
 

для себя, думаю, сможешь подправить
p.s.
если не будет работать, можешь с одним амперсандом - ...set /p="https:%var2%" & del /q %1 && ren....
 
Добавлено:
p.p.s
сразу пиши
Цитата:
с одним амперсандом - ...set /p="https:%var2%" & del /q %1 && ren....
- с двумя не работает
 
 
Добавлено:
s1nfrompvl

Цитата:
и еще нужно из UTF-8 сделать в win1251... пытался через xcode, у меня не получилось.  

 Перекодировщик кириллицы   -   http://2cyr.com/decode/?lang=ru

Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 12:11 15-11-2009 | Исправлено: mugil_cephalus, 15:44 15-11-2009
s1nfrompvl



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mugil_cephalus

Цитата:
Перекодировщик кириллицы - http://2cyr.com/decode/?lang=ru

это как я понял онлайн кодировщик..  
хотя этот вопрос решен с помощью iconv.. хз как я про него забыл..
 
насчет скрипта - спасибо.. сейчас посмотрю его и постараюсь адаптировать под себя..
 
позже:
в общем отделил я строку с тегом с отдельный файл.. конвертнул кодировку и попытался отделить имя видео которое между тегами <title> и </title> через скрипт:

Код:
echo off
call:_1 temp
set var1=
set var2=
goto :eof
 
:_1
for /f "tokens=2 delims=>" %%i in ('"type %1"') do set "var1=%%i"
set "var2=%var1:~0,-7%"
0>nul 1>%~n1_.txt set /p="%var2%" && del /q %1 && ren %~n1_.txt %~nx1
goto :eof

вроде работает, но тестировал бегло, хз где подводные камни выплывут. еще раз спасибо.

Всего записей: 62 | Зарегистр. 07-04-2008 | Отправлено: 15:58 15-11-2009 | Исправлено: s1nfrompvl, 16:29 15-11-2009
mugil_cephalus

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
s1nfrompvl
я тоже не шибко много гонял код, но заметил, что:
1) в участке do set "var1=%%i" - variable может задаться в value и со спецсимволами (< >), но value/%%i не нравиться только "=" (что понятно), напрмер, set "var1=href="https......................." при "вырывании " из html-кода
2) если делать процедуру - do call:... "%%i" - то спецсимволы в %%i у меня не тащились в процедуру как arg %1, даже с кавычками - "%%i" (что тоже понятно)
поэтому конструкция сделана с "bypass'om" спецсимволов - сначала впихивал в variable (благо "заглатывала"), а далее обработка (вырезание из var спецсимволов < >)
 
да, еще, сразу сделай один & - ...set /p="https:%var2%" & del /q %1 && ren.... - на всякий случай, - потому как мне вот что сказали
Цитата:
Цитата:у меня к тебе вопрос чисто теоретический - почему в коде не работает удвоенный амперсанд (как теория это объясняет?) ?    
теория объяяняет просто - set /p var=text  выдает errorlevel 1 при нулевом вводе, т.е. 0<nul set /p =text  - всегда НЕуспешно выполненная команда.  

Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 17:03 15-11-2009 | Исправлено: mugil_cephalus, 17:11 15-11-2009
s1nfrompvl



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mugil_cephalus
код переделал.. скрипт написал.. все работает.. ^__^.. спасибо за помощь и моральную поддержку..
 
сейчас доделаю замены спецсимволом и надо сделать отлов веб ошибок от wget и можно продавать..

Всего записей: 62 | Зарегистр. 07-04-2008 | Отправлено: 17:38 15-11-2009
Sergey_AV



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, плииз - есть скрипт: http://forum.ru-board.com/topic.cgi?forum=5&topic=29819&start=1142&limit=1&m=1#1
как бы избавиться от консольного окошка при его работе? Видел здесь что-то подобное при помощи ни то nircmd, ни то чего-то похожего, но не могу найти...

Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 13:24 16-11-2009
mugil_cephalus

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sergey_AV
см. 65-ую страницу

Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 13:36 16-11-2009
Sergey_AV



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mugil_cephalus

Цитата:
см. 65-ую страницу

Это касательно nircmd & hstart? Я имел ввиду немного другое: попадалось <здесь>, если ничего не путаю, альтернатива ping.exe - хотелось бы ее прямо в скрипте заменить.
Вы, если не ошибаюсь, просто предлагаете запускать скрипт с помощью вышеуказанных программ, а это немного "не то" - все равно окошко ping.exe вылезет наружу...
С таким же успехом можно заменить системный интерпретатор wscript на cscript - тоже без окошка (начального) получится.
Ищется решение...

Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 13:50 16-11-2009
mugil_cephalus

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sergey_AV
тогда не знаю
знаю еще про trayIt! , но она GUI-видима (в трее) и думаю вам не подойдет

Цитата:
альтернатива ping.exe  
- в каком смысле альтернатива? поподробнее бы

Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 14:02 16-11-2009
Sergey_AV



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mugil_cephalus

Цитата:
- в каком смысле альтернатива? поподробнее бы

Самому хотелось бы . Возможно, я напутал, но типа попадалась конструкция запуска (замены) ping.exe посредством того же nircmd. Сейчас специально посмотрел - нету у nircmd таких команд...
Возможно, это не nircmd был, а что-то другое...

Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 14:06 16-11-2009
mugil_cephalus

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sergey_AV
а реализована она была как сторонняя утилита (*.exe) или vbscript или autoit или wmic?
я знаю мощный интструмент для работы с сетью - netsh - но она OS build-in и я не встречал в ней возможности скрытия

Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 14:13 16-11-2009
Sergey_AV



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mugil_cephalus
реализовано это было как фрагмент скрипта (батника) примерно как nircmd <чего-то там> <адрес> . Я ж говорю - не помню. Мелькнуло в мыле (подписан на эту ветку), а найти сейчас не могу. Возможно, читал по диаганоали - неправильно понял....

Цитата:
я знаю мощный интструмент для работы с сетью - netsh - но она OS build-in и я не встречал в ней возможности скрытия

Инструмент, конечно, хороший - как бы его приспособить в дело ещё? Скрипт сам, на который я ссылку приводил, видели? К сожалению, я не больно большой копенгаген в этой области - люди добрые подсобляли. Вот и хотелось бы, по возможности усовершенствовать...  

Всего записей: 2336 | Зарегистр. 05-03-2002 | Отправлено: 14:21 16-11-2009
mugil_cephalus

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sergey_AV
я сам в wsh не силен
а на Программирование "удобняшек" на VBScript  http://forum.ru-board.com/topic.cgi?forum=33&bm=1&topic=1491#1   -  спрашивали?

Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 14:33 16-11-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Widok (03-03-2010 16:29): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru