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

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

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

vu1tur (04-09-2010 17:46): http://forum.ru-board.com/topic.cgi?forum=62&topic=21297  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

   

vu1tur



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

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
 
Для перекодирования кирилицы 866<<>>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 12:40 25-01-2010 | Исправлено: bomzzz, 13:37 20-08-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AleXPwin
    Расширения убери- оно итак уже в переменных...
    Вообще попробуй так:

    Код:
    @echo off
    cls
    set file1 = %1
    set file2 = %%~dpnfile1.pusd
    set result = %%~dpnfile1.result
    if exist %file2% (  
    copy /b %file1%+%file2% j:\%result% && echo 'Копирование произведено успешно'  
     ) else ( echo 'Сбой при копировании' )  
    pause

    Как- то так, или пусть меня поправят...
     
    boy999
    Ты бы документацию слил, а то искать лень)))
     

    Всего записей: 406 | Зарегистр. 06-12-2007 | Отправлено: 16:46 08-08-2010
    AleXPwin

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

    Цитата:
    Как- то так, или пусть меня поправят...

    Благодарю, но... несработало.
    Попробовал по другому.
     Переменные file2 и result оказались правильными названиями файлов с путями, а результат действия команды - "Ошибка в синтаксисе команды".

    Всего записей: 350 | Зарегистр. 13-02-2007 | Отправлено: 17:52 08-08-2010
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AleXPwin
    for %%i in (*.dusd) do if exist "%%~ni.pusd" copy /b "%%i" + "%%~ni.pusd"

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 18:03 08-08-2010
    Mark_Titov



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребят, подскажите, как можно батником контролировать перезагрузку и выключение компа? WinXP...
    Заранее благодарю...

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 18:06 08-08-2010
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AleXPwin
    или ещё проще
    copy /b *.dusd + *.pusd *.res
    или
    copy /b *.dusd + *.pusd
     
    Добавлено:
    Mark_Titov

    Цитата:
    выключение  

    shutdown -s -f -t 0

    Цитата:
     перезагрузку  

    shutdown -s -r -f -t 0

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 18:11 08-08-2010
    Mark_Titov



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    king_stiven
    Спасибо, эт я знаю...
    Я наверное не правильно вопрос поставил, нужен батник что бы он при перезагрузке и выключении компа запускал еще второй батник (call 2.bat).
    Так вот я не знаю как сделать так что бы первый батник среагировал на перезагрузку и выключение компа для того что бы выполнить далее команду CALL...
    Может на самом деле как-то контролировать shutdown.exe? Но как?
     
    Спасибо...

    Всего записей: 387 | Зарегистр. 12-04-2010 | Отправлено: 18:37 08-08-2010 | Исправлено: Mark_Titov, 19:15 08-08-2010
    AleXPwin

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

    Цитата:
    for %%i in (*.dusd) do if exist "%%~ni.pusd" copy /b "%%i" + "%%~ni.pusd"

    это почти подходит...

    Цитата:
    copy /b *.dusd + *.pusd *.res

    это предполагает все файлы, а требуется только заданный... гм... может так:
    for %%i in (*.dusd) do if exist "%%~ni.pusd" copy /b "%%i" + "%%~ni.pusd" "%%~ni.res" && echo 'Копирование произведено успешно' || echo 'Сбой'?
     
    Добавлено:
    Сработало!!!
    Благодарю всех откликнувшихся, особенно king_stiven.
    Нижайший поклон.

    Всего записей: 350 | Зарегистр. 13-02-2007 | Отправлено: 18:49 08-08-2010
    king_stiven

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

    Цитата:
    copy /b *.dusd + *.pusd *.res  

    Это самое оно, будет клеить только одинаковые имена, смотри справку винды по этой команде.

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 18:53 08-08-2010
    AleXPwin

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

    Цитата:
    Это самое оно, будет клеить только одинаковые имена, смотри справку винды по этой команде.

    Понимаю.
     
    При закачке USD качает в *.pusd, при обрыве - докачивает в *.dusd. При коректной остановке программы - дописывает *.dusd в конец *.pusd. При некоректной (перезагрузка и т.п.) затирает *.dusd и начинает докачивать в новый *.dusd, что для некоторых ужасно (размеры скачанного, стоимость трафика, потерянное время и т.п.). Автор пишет новую версию программы довольно длительное время, а пока хотелось бы не терять докачанное полностью либо частично. Потому понадобился батник добавляемый в планировщик USD.
     
     Требуется клеить:
    1. только при наличии обоих файлов и *.dusd и *.pusd (вернее при наличии *.dusd, т.к. в нем цель задачи);
    2. только заданное имя файла (полагаю если заменить на *, то получится собственно *.dusd, следовательно все файлы имеющие и *.dusd и *.pusd склеятся в *.res в приведенном ниже примере)
     
    @echo off
    cls
    for %%i in (*.dusd) do if exist "%%~ni.pusd" ( copy /b "%%~ni.pusd" + "%%i" "%%~ni.res" ) && echo 'Копирование произведено успешно' || echo 'Сбой'
    pause
     
    P.S. Какая должна быть кодировка при выводе на экран результатов работы этого батника чтоб текст стал читаемым?
     
    Добавлено:
    проверено... при замене copy.bat имя_файла на copy.bat * все работает для всех файлов имеющих общее имя и оба расширения.


    ----------
    С уважением, Александр

    Всего записей: 350 | Зарегистр. 13-02-2007 | Отправлено: 19:16 08-08-2010
    boy999



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

    Цитата:
    Читай выше сообщение, поставь себе прожку WinCDEmu, она весит 5 мегов и будет тебе счастье.  

     
    Поставил WinCDEmu 3.3,  настройки изучил - счастья нет.
    Чего с ним делать-то!?
     
     
    Добавлено:

    Цитата:
    через nncron отлавливай событие и вешай действие...  
     

     
    КАК отловить!?

    Всего записей: 2030 | Зарегистр. 19-05-2008 | Отправлено: 19:31 08-08-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ну... На коленке: WinSPY смотри окно, которое выкидывает игра, и вешай на неё действие. Подробнее- в ветку nnCrona.
    Естати, ты бы инфу по демону бы дал?

    Код:
    "C:\Program Files\D-Tools\daemon.exe" -mount 0,C:\образ.mds -rmps on

    вот что- то из твоей оперы)))
    -mount 0 - монтирование в первый привод
    -rmps on - врубить эмуляцию rmps
    Пиши батнег, ярлык на рабочий стол и хоткеи прикрути к ярлыку... и норм...
    Еста, че за игра?

    Всего записей: 406 | Зарегистр. 06-12-2007 | Отправлено: 20:16 08-08-2010 | Исправлено: us0r, 20:23 08-08-2010
    king_stiven

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

    Цитата:
    Поставил WinCDEmu 3.3,  настройки изучил - счастья нет

    Настрой её, чтоб по двойному щелчку мыши по файлу iso происходило монтирование диска, по следущему щелчку - размонтирование.

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 20:39 08-08-2010
    ComradG



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    king_stiven
    Прости, но похоже относительно utf8 на vbs я погорячился. Так что прошу прощения, и если получится реализовать оное, дам знать.
    us0r

    Цитата:
    Пиши батнег, ярлык на рабочий стол и хоткеи прикрути к ярлыку...

    Немного не мо теме, но я тут подумал сгодится - как создать ярлык автоматом прикрутив к нему хоткей, правда vbs но можно его загенерить через батник.

    Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 22:29 08-08-2010 | Исправлено: ComradG, 22:31 08-08-2010
    boy999



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

    Цитата:
    Настрой её, чтоб по двойному щелчку мыши по файлу iso происходило монтирование диска

     
    ТС открывает исошник

    Всего записей: 2030 | Зарегистр. 19-05-2008 | Отправлено: 23:47 08-08-2010
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    boy999
    Настрой, чтоб данный вид файла (iso) открывался этой программой (WinCDEmu) через свойства файла iso настрой. Щёлкай в проводнике а не в ТС

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 01:02 09-08-2010 | Исправлено: king_stiven, 01:04 09-08-2010
    us0r



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

    Всего записей: 406 | Зарегистр. 06-12-2007 | Отправлено: 01:40 09-08-2010
    boy999



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

    Цитата:
    Настрой, чтоб данный вид файла (iso) открывался этой программой (WinCDEmu) через свойства файла iso настрой. Щёлкай в проводнике а не в ТС

     

     
    Щелкаю в проводнике - ничего не происходит.
    Надо чтоб на G монтировалсо, не хочет

    Всего записей: 2030 | Зарегистр. 19-05-2008 | Отправлено: 08:35 09-08-2010
    ComradG



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    us0r
    Вообще-то хоткей прикручивается к ярлыку той же vbs-кой, пример которой я приводил выше. Относительно же батников я имел в виду написать генератор данной vbs-ки, чтоб ее запустить дабы та автоматом создаваля ярлык с прикрученным хоткеем. Ну, а если тебе кажется что данный способ через ж...., то может ты в чем-то прав.

    Всего записей: 2038 | Зарегистр. 05-07-2008 | Отправлено: 10:00 09-08-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ComradG
    Тогда я тебя не так понял...
    В принципе это возможно... Да и сложностей вроде особых быть не должно...
    В батнике 2 запроса для VBS-ки: путь к проге (с ключами?) + алфавитно-цифровая комбинация, которая внесёт в текст VBS-ки алиасы хоткеев... Не сложнее написания текстового файла... Если что- можно в конце запустить на исполнение и создавать ярлык)))

    Всего записей: 406 | Зарегистр. 06-12-2007 | Отправлено: 12:14 09-08-2010 | Исправлено: us0r, 12:18 09-08-2010
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    boy999
    У меня работает. Пробуй из комстроки запустить со своими именами и полными путями:
    start "" "1.iso"
     
    либо
    start "" "WinCDEmu" "1.iso"

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 12:17 09-08-2010
       

    Страницы: 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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 8
    vu1tur (04-09-2010 17:46): http://forum.ru-board.com/topic.cgi?forum=62&topic=21297


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru