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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    rbcl
    Выведи список в файл, например list.txt.

    Код:
     
    for /f "tokens=*" %%a in (list.txt) do net stop "%%a"
     

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 20:50 30-01-2007
    rbcl

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо. А я могу использовать вот так:
    for /f "tokens=*" %%a in (net start | findstr бла бла) do net stop "%%a"  
    а то в синтаксисе совсем запутался.

    Всего записей: 22 | Зарегистр. 02-11-2005 | Отправлено: 23:47 30-01-2007
    Smitis



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

    Цитата:
    Кто подскажет, как через бат файл установить для какой-либо учетной записи срок действия пароля и как сделать, чтобы он был неограничен.  
    Если через команду  
     
    Цитата:net user пользователь пароль /add /expires:never /passwordchg:no /passwordreq:no  
     
     - то устанавливантся только что срок действия САМОЙ УЧЕТКИ неограничен. а пароль со временем заканчивается.  

    Когда-то искал, как это сделать и не нашёл
    Только если сделать для всех. Вроде бы так:

    Код:
     
    net accounts /maxpwage:unlimited /minpwage:0
     

    Впрочем, можешь покопать в сторону WMI.

    Всего записей: 3179 | Зарегистр. 09-02-2003 | Отправлено: 23:51 30-01-2007 | Исправлено: Smitis, 23:53 30-01-2007
    Elroir



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

    Цитата:
    Спасибо. А я могу использовать вот так:  
    for /f "tokens=*" %%a in (net start | findstr бла бла) do net stop "%%a"

    Надо немного изменить:

    Код:
     
    for /f "usebackq tokens=*" %%a in (`"net start | findstr бла бла"`) do net stop "%%a"
     

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 23:54 30-01-2007
    rbcl

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Большое спасибо. Пойду синтаксис учить.

    Всего записей: 22 | Зарегистр. 02-11-2005 | Отправлено: 00:29 31-01-2007
    ProbaRK

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

    Цитата:
    Кто подскажет, как через бат файл установить для какой-либо учетной записи срок действия пароля и как сделать, чтобы он был неограничен.  
    Если через команду  
     
    Цитата:net user пользователь пароль /add /expires:never /passwordchg:no /passwordreq:no  
     
     - то устанавливантся только что срок действия САМОЙ УЧЕТКИ неограничен. а пароль со временем заканчивается.  

     
    Делал так:
     
    NET USER User pass /ADD /EXPIRES:NEVER /FULLNAME:"Имя" /PASSWORDCHG:NO /COMMENT:"коментарий"
    wmic useraccount set passwordexpires=false /nointeractive
    net accounts /maxpwage:unlimited

    Всего записей: 82 | Зарегистр. 08-02-2005 | Отправлено: 01:40 31-01-2007
    igor_andreev

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

    Цитата:
    Пойду синтаксис учить
    Отсюда начни http://www.rsdn.ru/article/winshell/batanyca.xml
    2ALL ссылку можно в шапку наверное, в "Полезные ссылки", хорошая статья для начинающих. Жалко короткая.

    Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 01:48 31-01-2007 | Исправлено: igor_andreev, 01:51 31-01-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igor_andreev
    У меня эта страничка открылась только через русский proxy
    Добавлено:
    А сейчас нормально открывается...

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 01:58 31-01-2007 | Исправлено: Elroir, 18:02 31-01-2007
    UltiMacho

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, можно ли с пом. bat файла запустить приложение на удаленной машине?

    Всего записей: 1 | Зарегистр. 31-01-2007 | Отправлено: 16:21 31-01-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    UltiMacho
    Можно - посмотри описание утилиты PsExec.

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 17:38 31-01-2007
    royt

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кто знает, есть ли какое-то ограничение на глубину рекурсивных вызовов внутри батника?

    Всего записей: 319 | Зарегистр. 18-08-2004 | Отправлено: 20:24 31-01-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    royt
    Что ты имеешь в виду? Сколько раз батник может вызывать самого себя?

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 20:43 31-01-2007
    ViSiToR



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

    Цитата:
    Отсюда начни  http://www.rsdn.ru/article/winshell/batanyca.xml

     
    Класное пособие, в шапку добавил (и ссылку на команды RunDll32 тоже).
     


    Примечание к утилите для выключения (SBS):
    1) Ограничение в милисекундах стоит на 2147483647 (24 дня).
    2) Эта утилита также може служить простому простою, т.е вместо Sleep - для этого нужно задать только первый параметр (120-s), и запускать утилиту с ключом /wait:

    Код:
    Start /wait SBS 120-s

     
    Добавлено:
    Упс  - я вижу уже кто-то до меня добавил (кто? признавайтесь), дубль убрал .

    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 23:29 31-01-2007 | Исправлено: ViSiToR, 23:30 31-01-2007
    Elroir



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

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

    Ну я добавил...
     
    Добавлено:
    Кстати, шапка большая становится - надо как-то ее "перестроить".

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 23:40 31-01-2007
    Tipulatoid



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Можно ли задать следующее:
    если переменная %product_3% - пустая (т.е. задана уже раньше, но не содержит ни одного символа), то сделать то-то, иначе - се-то
     
    If defined похоже не подходит. Переменная-то то уже определена. Просто значения у нее нет.

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 02:23 01-02-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Tipulatoid
    Если у переменной нет значения, значит она не определена. Я не могу себе представить, как можно создать переменную без значения.
     
    Добавлено:
    То есть, если присвоить существующей переменной  несуществующее значение (например set test=1 & set test=%1, при том, что %1 - не задан) то переменная просто исчезнет. И тогда можно проверять if defined.

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 02:28 01-02-2007
    ViSiToR



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

    Цитата:
    если переменная %product_3% - пустая

    А в чём проблема просто сравнить её с пустым значением?  
     

    Код:
    If "%product_3%"=="" (echo Hello!) else (echo Goodby!)


    ----------
    ViSiToR a.k.a CreatoR
    CreatoR это не ник, CreatoR это стиль жизни!

    Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 04:59 01-02-2007
    Tipulatoid



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

    Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 05:47 01-02-2007 | Исправлено: Tipulatoid, 05:49 01-02-2007
    DocBeen



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Добрый День колееги,  
    столкнулся с такой проблемой - подскажите пожалуйста:  
    необходимо сделать синхронизацию с ftp сервером, причем виндовая ftp.exe в полне устраивает за исключением того что не может работать с группой файлов по маске ( с примеру *.dbf ) для синхронизации сперва надо удалить все файлы dbf а потом туда закачать другие.... возможно ли использования при этом списка ( list.txt - в котором указываются удоляемы а потом загружаемые файлы). и как бы затем этот процесс поставить на автомат к примеру в разные часы чтоб выполнялся....

    Всего записей: 147 | Зарегистр. 15-07-2005 | Отправлено: 11:44 01-02-2007
    royt

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

    Цитата:
    Что ты имеешь в виду? Сколько раз батник может вызывать самого себя?
    И Сам себя (в т.ч. косвенно - через другой батник). Но прежде всего - вызов в батнике в "процедуре" самой себя, типа:
     
    :SOME_CODE
    ...
    CALL :SOME_CODE
    ...
    GOTO :EOF
     
    Есть ли на это какие-то ограничения?

    Всего записей: 319 | Зарегистр. 18-08-2004 | Отправлено: 13:17 01-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.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru