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

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

Модерирует : KLASS, IFkO

vu1tur (27-04-2007 11:55): продолжаем в теме «Задачи на bat-файлах 3»  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Дополняем шапку: добавляем готовые решения, полезные ссылки.
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии
 
Полезные ссылки
 
Полезные утилиты
 
Готовые решения и частые вопросы:
  • Встроенный справочник по командам
  • Создание помощи по всем командам консоли 2000 и XP
  • Альтернативные решения »
  • Работа с текстом, датой, и файлами »
  • Администрирование, автоматизация и сеть »
  • Работа с переменными и параметрами ком. строки »
     
    Описания работы команд и символов участниками темы:
    · setlocal enabledelayedexpansion и переменные окружения
    · символы & и && в командной строке
    · Переменная %0
     
    Невозможности — что нельзя сделать с помощью командных файлов:
    · изменть конфигурацию IP на удаленной машине (без помощи rcmd.exe) [добавил ALEF]
     
    Старая версия первого сообщения

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 16:59 14-11-2006 | Исправлено: Elroir, 04:30 26-04-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    SPY
    Приведи полностью батничек, точно

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:21 16-02-2007
    SPY



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
    дык я ж не умею писать их, поэтому и спросил, как нужно..?
    ничего особенного:
     
    taskkill /f /t /im icqlite.exe
     
    вот и всё
    что нужно, чтобы "это" заработало??

    Всего записей: 635 | Зарегистр. 07-11-2003 | Отправлено: 15:25 16-02-2007
    KapralBel



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

    Код:
    taskkill /f /t /im icqlite.exe

    Сохрани в файле test.bat, в командной строке запусти его и что он дает на экран

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:31 16-02-2007
    SPY



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    KapralBel
    какой-то бред происходит =)
     
    сохраняю на рабочий стол, запускаю, работает...
    причем и тот, который я до этого сделал, тоже работает...
    (внутри оба эдентичны)
    думаю, в чем дело, вспоминаю, что переименовал предыдущий файл:
    из "taskkill.bat" в "taskkill icq.bat"
    переименовываю обратно.. оба, опять оба файла не работают
    (бесконечно, до нажатия CTRL+C пытаются пыполнить эту команду)
    убираю "test.bat" в другую директорию, запускается и работает...
     
    что это за глюк такой?

    Всего записей: 635 | Зарегистр. 07-11-2003 | Отправлено: 15:44 16-02-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    SPY
    Исправь содержимое на  

    Код:
    taskkill /f /t /im icqlite.exe >>C:\Error.log 2>&1

    И когда не срабатывает
    После этого приведи содержимое C:\Error.log

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:58 16-02-2007
    igor_andreev

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

    Цитата:
    умаю, в чем дело, вспоминаю, что переименовал предыдущий файл:  
    из "taskkill.bat" в "taskkill icq.bat"

    Батники наверно до посинения пытаются сами себя запустить добавь расширение .exe в команду taskkill.exe /f /t /im...

    Всего записей: 1668 | Зарегистр. 08-12-2004 | Отправлено: 16:09 16-02-2007
    SPY



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

    Цитата:
     
    C:\>taskkill /f /t /im icqlite.exe  1>>C:\Error.log 2>&1  
     
    C:\>taskkill /f /t /im icqlite.exe  1>>C:\Error.log 2>&1  
     
    C:\>taskkill /f /t /im icqlite.exe  1>>C:\Error.log 2>&1  
     
    C:\>taskkill /f /t /im icqlite.exe  1>>C:\Error.log 2>&1  

    в логе..
    & etc... до самого конца документа..
     
     
    Тут видимо загадка в названии файла, может существует какой-либо запрет на системные названия, я не знаю уж.. Если рядом нет бат-файла с названием "taskkill.bat", то ошибки не возникает, но сам по себе этот факт довольно интересен =) Может у меня просто ОС подглючивает так, мне давно её пора менять...

    Всего записей: 635 | Зарегистр. 07-11-2003 | Отправлено: 16:11 16-02-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    igor_andreev
    А вот это скорее всего и есть проблема
     
    Добавлено:
    SPY
    Следуй совету igor_andreev

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 16:12 16-02-2007
    SPY



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
    вот и решение...
    помогло (!)

    Всего записей: 635 | Зарегистр. 07-11-2003 | Отправлено: 16:14 16-02-2007
    igor_andreev

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

    Цитата:
    но сам по себе этот факт довольно интересен
    Ничего интересного, .bat - это исполняемый файл, если в комстроке дать имя исполняемого файла без расширения, винда по очереди будет пытаться запустить имя.COM потом имя.EXE имя.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH сначала в текущей папке, потом ищет в остальных папках, прописанных в PATH

    Всего записей: 1668 | Зарегистр. 08-12-2004 | Отправлено: 16:17 16-02-2007 | Исправлено: igor_andreev, 16:20 16-02-2007
    Smitis



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Можно ещё уточнить, что порядок просмотра расширений задаётся переменной среды PATHEXT

    Всего записей: 2469 | Зарегистр. 09-02-2003 | Отправлено: 17:05 16-02-2007
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    нужно командой в одну строку пускануть скрипт (vbs, js), состоящий всего из одной строки, то есть используя комстроку, выполнить скрипт
    извиняюсь за сумбурное высказывание
    возможно ли это?

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 01:36 17-02-2007
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nagual
    Имеешь ввиду, не записывая сам файл *.vbs или *.js? Если из батника, состоящего из одной строки, то можно(смотря какая строчка наверно), типа
    test.cmd
    Код:
    msgbox "Now is " & now,0,"One line script" & cls '& wscript.exe %0 //E:VBScript

    Если непосредственно написав в окошке cmd.exe - нет, нельзя, и cscript.exe и wscript.exe требуют имя файла, содержащего сценарий

    Всего записей: 1668 | Зарегистр. 08-12-2004 | Отправлено: 02:44 17-02-2007
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
    нужно как раз как в окошке cmd, где то раньше давно я встречал такую статью и там один шаман это сделал, но тогда я об этом мало знал и мне это было ненужно и неинтересно, а сейчас понадобилось, а не знаю как...

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 16:22 17-02-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nagual
    igor_andreev
    А так нельзя?

    Код:
     
    echo msgbox "Example">vbtemp.vbs & cscript vbtemp.vbs & del vbtemp.vbs
     

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 16:27 17-02-2007
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    Можно. Просто
    Цитата:
    сумбурное высказывание
    не очень понятно, что Nagual хочет
     
     
     
    Добавлено:

    Цитата:
    нужно как раз как в окошке cmd

    cscript /? и wscript /?
    scriptname.extension - обязательный параметр, из Stdin сценарии не выполняются. Теоретически из Stdin скрипт читать может, и для выполнения нескольких команд в одну строчку можно в *.vbs команды разделять двоеточием(не шибко документируемая фича кстати). Например test.vbs(в одну строчку)

    Код:
    Wscript.StdOut.Write "Напишите число:" : s = Wscript.StdIn.ReadLine : Wscript.StdOut.WriteLine "Вы написали " & s
    и запустить cscript.exe test.vbs //Nologo
    Но как это прикрутить куда-нибудь в pipe без создания temp-файла - я нигде не встречал, ни в одном пособии по vbscript. Если кто знает способ - поделитесь.

    Цитата:
    один шаман это сделал

    вудупипл

    Всего записей: 1668 | Зарегистр. 08-12-2004 | Отправлено: 16:35 17-02-2007 | Исправлено: igor_andreev, 17:23 17-02-2007
    Nagual



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

    Цитата:
    А так нельзя?

    не пойдет во многих случаях, например, при запуске из самораспаковки рара
    igor_andreev
    за фичу спс буим нать

    Цитата:
    вудупипл

    маджик пипл

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 21:07 17-02-2007
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите реализовать эффект печатующегося текста. Бьюсь - ничего не получается. Где-то давно в теме видел вывод подобного батника, но найти не смог. Интересует вариант без очистки экрана.

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 21:36 17-02-2007
    igor_andreev

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    01MDM
    Это где-то в начале первой части этой темы было. Мой вариант тут (zip, 1Kb)

    Всего записей: 1668 | Зарегистр. 08-12-2004 | Отправлено: 22:19 17-02-2007
    Nagual



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
    вариант супер, только вот буквы очень быстро пишутся, можно их как то замедлить до реального письма примерно как в фильме, желательно с разными (произвольными) паузами?

    Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 22:26 17-02-2007
       

    Страницы: 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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 2
    vu1tur (27-04-2007 11:55): продолжаем в теме «Задачи на bat-файлах 3»


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru