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

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

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

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

   

Nagual



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

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

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

  • Всего записей: 528 | Зарегистр. 06-01-2006 | Отправлено: 12:28 19-03-2008 | Исправлено: Nagual, 01:02 24-09-2008
    Joolz

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    boss911
    Файл запускается именно такой командой???

    Код:
    BatchFile.cmd /CheclCopy

    Или судя по %1 и %2 должно быть:

    Код:
    BatchFile.cmd file1.ext file2.ext /CheclCopy

    Если так, то пишем

    Код:
    IF /I "%3"=="/ChelCopy" ECHO %1>>zap.txt

    Всего записей: 100 | Зарегистр. 24-01-2008 | Отправлено: 18:05 23-06-2008
    01MDM



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

    Код:
     
    @echo off
    if  /i "%1" equ "/CheclCopy" (set arg=1)
     
    ....
     
    :Repl_F
    Copy /y %2 "%~dp1" 1>nul 2>&1
    if ErrorLevel 1 (
     Zap.exe  "%1"  >nul
     Copy /y %2 "%~dp1" 1>nul 2>&1
     if defined arg (Echo %1 >> Zap.txt)
    )
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 18:05 23-06-2008
    boss911



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Joolz и 01MDM
     
    Нечего не получилось.
     
    Пробовал первый и второй способ, привожу второй:
     
    Подробнее...
     
    Батник запускал как BatchFile.cmd /ChekCopy , в итоге, файл CheckCopy.txt не создался, этот файл теперь вообще не создается, даже если запустить батник без ключа /ChekCopy.

    Всего записей: 3699 | Зарегистр. 29-01-2005 | Отправлено: 19:04 23-06-2008 | Исправлено: boss911, 19:10 23-06-2008
    01MDM



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

    Цитата:
    этот файл теперь вообще не создается, даже если запустить батник без ключа

    Правильно, так и должно быть:

    Цитата:
     
    Данный ключ командной строки, должен включать следующую команду внутри батника
     

     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 19:20 23-06-2008
    boss911



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

    Цитата:
    Проверь ChekCopy != CheckCopy

    Мда, моя невнимательность тянется еще со времен школы, когда я проверял свои домашние задания. Вот я ступид, блин, сори.
     
    Твой вариант работает, а вот вариант Joolz нет, возможно, он меня или я его недопонял. В любом случае, мега-огромное вам спасибо.

    Всего записей: 3699 | Зарегистр. 29-01-2005 | Отправлено: 19:44 23-06-2008
    boss911



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

    Код:
    For /F "UseBackQ Delims=" %%I In (`Dir ResFiles\*.txt /B /ON 2^>nul`) Do (
    Echo %%~I
    ResHacker\ResHacker.exe -script ResFiles\%%~nxI
    )

    Можно сделать так, чтобы оно применяло команду только для тех файлов, которые будут находиться в папке "TempFiles"? То есть, добавить некую проверку, чтобы выполняло команду для конкретного объекта (файла), а не в пустую, если в папке "TempFiles" некоторых объектов нет.

    Всего записей: 3699 | Зарегистр. 29-01-2005 | Отправлено: 06:44 24-06-2008
    01MDM



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

    Цитата:
    То есть, добавить некую проверку, чтобы выполняло команду для конкретного объекта (файла), а не в пустую, если в папке "TempFiles" некоторых объектов нет.

     
    Какую команду?
     
     
     

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 10:34 24-06-2008
    SAOPP

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Добрый день.
     
    Ребят, прошу помочь, немного покопался в предыдущих 4х топиках, уверен, что вопрос был, но увы ничего не нашёл
     
    Банальная задача, есть проводной адаптер на лаптопе, есть две разные сети, соответственно, необходимо создать два батника, для смены сетевых настроек под эти сети.
     
    Менять необходимо следующие параметры:
    ip, mask, def gateway, dns1, dns2
     
    ОС: Vista.
     
    Заранее благодарен за помощь.

    Всего записей: 1048 | Зарегистр. 28-11-2004 | Отправлено: 13:40 24-06-2008
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    SAOPP
    http://forum.ru-board.com/topic.cgi?forum=62&topic=13556&start=20#9

    ----------
    I am free of all prejudice. I hate everyone equally.

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 14:06 24-06-2008
    SAOPP

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    vu1tur
    Спасибо, немного упростил себе скриптик, теперь интересует следующее, вот мой батник для одной сети, в ней не нужен альтернативный dns, а в другой, нужен, дак вот я не пойму как их два статических dns'а указать :/
     

    Код:
    netsh interface ipv4 set address "Подключение по локальной сети" static 192.168.0.1 255.255.255.0 192.168.0.2 1 //это настройка ip адреса, маски и шлюза
     
    rem netsh interface ipv4 set dnsserver "Подключение по локальной сети" static 192.168.0.3 //так можно поставить днс, основной
     
    netsh interface ipv4 set dnsserver "Подключение по локальной сети" static address
    //эта команда позволяет сделать список статических днс серверов насколько я понял, т.е. основной и альтернативный, но я не могу понять синтаксис этой команды, address=ip ip - нет, и т.д. Подскажите пожалуйста.

    Всего записей: 1048 | Зарегистр. 28-11-2004 | Отправлено: 15:30 24-06-2008 | Исправлено: SAOPP, 15:46 24-06-2008
    Kronix

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

    Всего записей: 107 | Зарегистр. 21-03-2006 | Отправлено: 16:05 24-06-2008
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    SAOPP
    netsh interface ip set dns "Connection name" static ip1
    netsh interface ip add dns "Connection name" ip2 index=2
     
    Kronix

    Цитата:
    Можно какой-нибудь простенький скриптик для отправки ip-адреса компьютера (в интернете) на определенный е-мейл

     
    ipconfig | blat - -to определённый@е-мейл

    ----------
    I am free of all prejudice. I hate everyone equally.

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 16:12 24-06-2008 | Исправлено: vu1tur, 16:17 24-06-2008
    boss911



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

    Цитата:
    Какую команду?


    Цитата:
    ResHacker\ResHacker.exe -script ResFiles\%%~nxI

    А ресхакер тем временем с его скриптом txt обрабтывает все что лежит в "TempFiles". Вот мне и надо, чтобы команда выполнялась только для тех файлов, которые будут найдены в "TempFiles", чтобы не было холостого выполнения.

    Всего записей: 3699 | Зарегистр. 29-01-2005 | Отправлено: 16:19 24-06-2008
    SAOPP

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    vu1tur
    Огромное спасибо, теперь проблема решена
     
    Один только вопрос с точки зрения технической части, верно ли выбран вообще путь решения относительно использования в данном случае (моём) netsh? Я к тому спрашиваю, может быть есть другие пути + этот может быть в чём то не идеален (хотя по моему наоборот)?
     
    Ещё раз благодарю и заранее благодарен за ответ на поставленные вопросы

    Всего записей: 1048 | Зарегистр. 28-11-2004 | Отправлено: 16:36 24-06-2008 | Исправлено: SAOPP, 16:38 24-06-2008
    Joolz

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    boss911
    if EXIST ResFiles\*.txt (
    твой код
    )

    Всего записей: 100 | Зарегистр. 24-01-2008 | Отправлено: 16:41 24-06-2008
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    SAOPP
    Ну это дело вкуса. На мой взгляд, netsh — решение более универсальное и надёжное. Но есть достаточное количество программ, которые делают то же самое, имеют какой-никакой GUI и прочие «прибамбасы». Вот первое что попалось в гугле — http://www.netsetman.com/

    ----------
    I am free of all prejudice. I hate everyone equally.

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 16:47 24-06-2008
    wrest



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Пожалста расскажите как при помощи .bat файла можно рассортировать файлы с флешки по папкам по датам создания файлов таким хитрым образом:
     
    c:\корень-папки-куда-класть\2008\01(January)\01-Jan-08\Файл-жепег.jpg для файлов jpeg и
    c:\корень-папки-куда-класть\2008\01(January)\01-Jan-08\raw\Файл-рав.arw для файлов raw
     
    проблема в том что в Windows стоит язык Русский а месяцы в этом случае получаются "Январь" вместо "January". Естественно, если папок нет, их надо создать.
     
    Или: как при помощи .bat файла поменять локаль windows чтобы exiftool раскладывал с нужными именами. Applocale почему-то exiftool не лечит.

    Всего записей: 38 | Зарегистр. 04-02-2003 | Отправлено: 17:19 24-06-2008
    SAOPP

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    vu1tur
    Почему я сюда пришёл... можно посмотреть в этой ветке официального форума netsetman'а
     
    Т.е. NSM скажем так, идеальный конечно инструмент, и является таким на сегодняшний день, но вот поддержка Висты у него на очень слабеньком уровне, из-за чего есть тот недостаток, который описан мною в баг рапорте на оффоруме данного приложения.
     
    Поэтому, пока он развивается надеюсь, буду использовать консоль а там видно будет, в любом случае спасибо ещё раз за оперативность, очень выручил.
     
    зы Других же приложений с GUI личиком мало, и они являются своего рода комбайнами + шараварными, в отличии от них, NSM идеальный маленький инструмент, который кстати имеет своё платное расширение с дополнительными возможностями, но увы, ОС Виста с ним хромает или наоборот.

    Всего записей: 1048 | Зарегистр. 28-11-2004 | Отправлено: 17:25 24-06-2008 | Исправлено: SAOPP, 17:28 24-06-2008
    Kronix

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vu1tur
    что не так?
    >blat -install smtp.mail.ru mail@mail.ru
    Blat v2.6.2 w/GSS encryption (build : Feb 25 2007 12:06:19)
     
    SMTP server set to smtp.mail.ru on port 25 with user mail@mail.ru, retry 1 time(s)
     
    >ipconfig | blat - -to mail1@mail.ru
    Blat v2.6.2 w/GSS encryption (build : Feb 25 2007 12:06:19)
     
    Sending stdin.txt to mail1@mail.ru
    Login name is mail@mail.ru
    SMTP server error accepting message data

    Всего записей: 107 | Зарегистр. 21-03-2006 | Отправлено: 17:36 24-06-2008
    vu1tur



    Moderator-Saaber
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Kronix
    mail.ru требует SMTP AUTH
    нужно добавить «-u username -pw password»

    ----------
    I am free of all prejudice. I hate everyone equally.

    Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 17:49 24-06-2008
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 5
    vu1tur (04-11-2008 23:07): Задачи на bat-файлах 6


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru