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

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

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

vu1tur (29-07-2011 12:47): Задачи на bat-файлах 11
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:53 09-01-2011 | Исправлено: mazafakermazafaka, 11:22 04-06-2011
    smirnvlad

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Roy_Focker
    new_ext заменить на новое расширение
    for %%a in (*) do "prog.exe" "%%~a" "%%~na.new_ext" 1

    Всего записей: 417 | Зарегистр. 31-03-2009 | Отправлено: 06:56 13-04-2011
    res2001



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

    Цитата:
    В том то и дело , что файл заменяет , в свойствах файла показывает создан 10.04 , изменён 12.04 , а когда удаляешь руками и кидаешь файл руками , то уже пишет создан 12.04 .

    Я не знаю куда ты там смотришь, но у меня в случае наличия аттрибута только для чтения на обоих файлах xcopy /k не копирует файлы - ругается, отказано в доступе, если добавить ключ /r - все копируется, с датами то же все в порядке - в скопированном файле установлена его дата, та что была в исходном файле.  
    Все отрабатывает так как должно, никаких проблем нет!

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 09:47 13-04-2011
    SERIOUS2



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Такой вопрос как прятать это окно, я пытался через CMDOW но не получилось

    Всего записей: 168 | Зарегистр. 07-06-2006 | Отправлено: 10:45 13-04-2011
    Jay90

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

    Цитата:
    Какая версия актуальна? jre6?  

     
    Вот такой командой возвращаю нужный мне путь:
     

    Код:
    >dir /b /s /a "%ProgramFiles%\Java\*jre6*"
    C:\Program Files\Java\jre6

     
    как теперь создать через батник системную переменную с именем jre_home и с этим найденным путем? Поискал - могу создать их командой:

    Код:
    echo y | reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JRE_HOME /t reg_expand_sz /d "здесь путь"

     
    соединил команды:

    Код:
    for /f "tokens=*" %%a in ('dir /b /s /a %ProgramFiles%\Java\*jre6*') Do Set "Path2=%%~dpa"
    echo y | reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JRE_HOME /t reg_expand_sz /d "%Path2%"

     
    добавляет все нормально, но получается вот какой путь у переменной: C:\Program Files\Java" , а должно быть C:\Program Files\Java\jre6 и откуда лишняя кавычка на конце всплыла?

    Всего записей: 9 | Зарегистр. 08-04-2011 | Отправлено: 11:07 13-04-2011 | Исправлено: Jay90, 12:27 13-04-2011
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ivgolovin
    Цитата:
    В том то и дело , что файл заменяет , в свойствах файла показывает создан 10.04 , изменён 12.04
    так и должно быть:
    если файл заменяется - у него сохраняются время создания и права,
    если файл создается заново - он получает текущее время создания и права по умолчанию.
    (время модификации в обоих случаях берется с файла-источника).
    полностью эквивалентно копированию мышкой поверх существующего, с диалогом "переписать?".
     

    Цитата:
     , а когда удаляешь руками и кидаешь файл руками , то уже пишет создан 12.04 .
    ну так кто мешает повторить удаление+копирование батником то?

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 11:29 13-04-2011 | Исправлено: wolf0425, 11:31 13-04-2011
    LacettiRED



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Автоматизация мониторинга; Подскажите, как автоматизировать мониторинг инфы в инете?
    Уточняю вопрос: на сайте Ген консульства Финляндии для получения визы надо  сначала записаться на приём; для этого надо зайти сюда  https://www.visaservices.co.in/Finland-visa-application/AppScheduling/AppScheduling.aspx?P=PcqAqEGdf4OMbJ1CZgKHSUN3Je9Uumiy6NGhvmhMab7phBf7hKlWsBQNrNze6jyj+86S93yLA0yGdiqvwB5yZg%3d%3d
    там выбрать регион (Питер), в следующем окне, выбрать количество заявителей и вид визы и "отправить"; обычно в ответ видим сообщение об отсутствии свободных мест для записи; и потом всё повторяется снова и так в течение дня периодически надо мониторить : а не появилась ли вакансия? Можно ли автоматизировать эту рутину?
    1) полностью : т.е. ват файл сам периодически выполняет всю эту последовательность действий и в случае положительного ответа открывал бы окно для записи на приём
    2) частично , т.е. кликнул по ярлыку и вся эта последовательность команд тупо выполнилась и сам смотришь на результат.
    Т.е. максимально автоматизировать мониторинг вакансий на запись в Ген консульство на визу. Буду очень благодарен за ответ и любые отзывы на этот вопрос! )

    Всего записей: 75 | Зарегистр. 27-02-2008 | Отправлено: 12:15 13-04-2011
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    LacettiRED
    Это тебе надо в ветку по VBS/JS, от туда можно и ишаком управлять и страницы в нем открывать и по ссылкам ходить.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 12:43 13-04-2011
    LacettiRED



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

    Цитата:
    надо в ветку по VBS/JS

    если можно кинь линк , а то тема VBS/JS как то размыта и не пойму куда зайти с вопросом ))

    Всего записей: 75 | Зарегистр. 27-02-2008 | Отправлено: 17:43 13-04-2011
    praidik



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте.
    Можете пожалуйста помочь с командой для запуска файла в скрытом режиме...
    Дабы на панели задач не высвечивался и желательно в диспетчере задач был системным...

    Всего записей: 39 | Зарегистр. 15-11-2010 | Отправлено: 21:19 13-04-2011
    BVV63



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    praidik
    Ну, к примеру, шедулите запуск от имени системы. И высвечиваться не будет, и в диспетчере задач будет системным.
    P. S. Потребуются административные привелегии.

    Всего записей: 3542 | Зарегистр. 17-08-2009 | Отправлено: 05:27 14-04-2011 | Исправлено: BVV63, 05:30 14-04-2011
    res2001



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

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 10:10 14-04-2011
    ivgolovin

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

    Цитата:
    ну так кто мешает повторить удаление+копирование батником то?

     
    Так вот и прошу подсказки , я не очень в этом разбираюсь . Нужно чтобы удалял , затем кидал новейший на место старого .  
    повторюсь , сообщение на стр 45  
    Парни , задача :  
    Есть к примеру 100 папок названия папок 1,2,3,4.........99,100  
    В этих папках лежит 1.ехе,2.ехе,3.ехе.......................99.ехе,100.ехе (в каждой папке одна программа (в папке 1 лежит 1.ехе , в папке 25 лежит 25.ехе и т.д.))  
    1.ехе-100.ехе со временем устаревают , и нужно из папки new , в которой лежат не устаревшие 1.ехе-100.ехе раскидать по папкам 1-100 эти экзэшники , предварительно удалив старый , устаревший ,т.е  
    нужен batник , который бы удалял 1.ехе-100.ехе и закидал новые из папки new.  
     
    Я включаю поиск , нахожу .ехе , выделяю нужные и удаляю , затем запускаю этот батник :  
    for /l %%i in (1,1,100) do xcopy /e /y new\%%i.exe %%i\ , и он копирует в папки . Нужен или ещё один батник , который бы удалял и тут же добавлял новое или просто удалял , а я своим бы уже добавлял .  
    Спасибо!
     
    Но в папках 1-100 кроме 1.ехе-100.ехе лежат и другие .ехе  

    Всего записей: 9 | Зарегистр. 12-04-2011 | Отправлено: 11:37 14-04-2011 | Исправлено: ivgolovin, 11:44 14-04-2011
    Elroir



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

    Код:
     
    for /f "tokens=*" %%a in ('dir /b /s "%ProgramFiles%\Java\*jre6*"') Do Set "jp=%%~fa"  
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JRE_HOME /t reg_expand_sz /d "%jp%" /f
     


    ----------
    "В интернете есть все, но не всегда"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 11:48 14-04-2011
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ivgolovin
    for /l %%i in (1,1,100) do del /f/q %%i/%%i.exe & xcopy /e /y new\%%i.exe %%i\

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 11:49 14-04-2011
    Nightwalker666

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребят, подскажите. Нашел в интернете такой код для батника:  
     
    @ECHO OFF  
    :start  
    ping -n 1 mail.ru>nul  
    goto answer%ERRORLEVEL%  
    :answer0  
    goto exit  
    :answer1  
    netsh interface set interface "Подключение по локальной сети" disable  
    netsh interface set interface "Подключение по локальной сети" enable  
    :exit  
    exit  
     
    У меня часто пропадает трафик интернета (нужно для торрента - раздачи останавливаются), а если перезапустить сетевое соединение все нормально начинает работать и держится 3-5 часов. Вручную перезапускать уже надоело, да и ночью из-за этого торрент-клиент простаимвает.  
    Так вот этот код я вставил в файл *.txt и переименовал его в *.bat, положил в папку автозагрузки, перезагрузил - не работает, интернет не переподключает. Сейчас попробовал через планировщик, но мне кажется тоже не сработает.  
    Подскажите пожалуйста, может я что-то не так делаю или код неправильный?

    Всего записей: 31 | Зарегистр. 24-03-2011 | Отправлено: 16:08 14-04-2011
    Jay90

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вчера сам доделал , но все равно спасибо, Elroir.
     
    Добавлено:

    Цитата:
    Подскажите пожалуйста, может я что-то не так делаю или код неправильный?

    Сетевое соединение точно так называется - Подключение по локальной сети?

    Всего записей: 9 | Зарегистр. 08-04-2011 | Отправлено: 16:40 14-04-2011
    king_stiven

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nightwalker666
    Модем в режиме роутера не получается что ли? Переименуй Подключение по локальной сети в английское слово.

    Всего записей: 2232 | Зарегистр. 17-07-2006 | Отправлено: 17:18 14-04-2011
    Nightwalker666

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребят, все, спасибо.
    Проблему решал так: 1. в батнике поменял кодировку на ...866 - не помогло.
     
    king_stiven
    "Модем в режиме роутера не получается что ли? Переименуй Подключение по локальной сети в английское слово." - у меня выделенка по Ethernet без модема.
     
    Для моей ситуации есть решение более стабильное, простое и удобное: программа PowerOff60, которая перезагружает компьютер при, например, входящей скорости трафика ниже 5 кбайт/с. 2-3 раза за сутки перезагрузиться - это нормально.

    Всего записей: 31 | Зарегистр. 24-03-2011 | Отправлено: 18:48 14-04-2011 | Исправлено: Nightwalker666, 18:51 14-04-2011
    01MDM



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

    Цитата:
    2-3 раза за сутки перезагрузиться - это нормально.

    На мой взгляд не лучшее решение, лучше уж рвать и устанавливать соединение, но так как:

    Цитата:
    netsh interface set interface "Подключение по локальной сети" enable/disable

    в ХР не работает ( не имплементирован соответствующий wmi-метод ), то в шапке есть ссылка на утилиту cnic, которая корректно перезагружает ( включает/выключает ) сетевой интерфейс. Проста в использовании и надежна.


    ----------
    Вопросы в личке останутся без ответа

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 19:51 14-04-2011
    Nightwalker666

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

    Цитата:
    в шапке есть ссылка на утилиту cnic, которая корректно перезагружает ( включает/выключает ) сетевой интерфейс. Проста в использовании и надежна.

    А она как-то пингует что-то? (у меня соединение не рвется, просто перестает идти трафик). Это было бы конечно лучше, просто выключить и включить соединение.
    Как ее установить? А то с английским плоховато. Буду очень благодарен...

    Всего записей: 31 | Зарегистр. 24-03-2011 | Отправлено: 20:07 14-04-2011 | Исправлено: Nightwalker666, 20:28 14-04-2011
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 10
    vu1tur (29-07-2011 12:47): Задачи на bat-файлах 11


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru