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

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

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

vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:37 26-05-2009 | Исправлено: TechnicsKuzya, 13:53 27-12-2009
    milair

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ! Ткните носом, простенькая задачка, а лоб морщу целый день:
    требуется рестартонуть приложение и закрыть за собой ком-окно:
    @echo off
    taskkill /f /im Notepad.exe
    notepad.exe
     
    на примере блокнота, сами можете убедится в этой увлекательной задачке

    Всего записей: 14 | Зарегистр. 28-11-2005 | Отправлено: 20:15 06-12-2009
    GORA2



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

    Код:
    @echo off
    taskkill /f /im Notepad.exe
    Start "" notepad.exe

    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 20:37 06-12-2009
    NIKZZZZ



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

    Цитата:
    способ удаления всего содержимого папки  


    Код:
    RD /S /Q Папка
    MD Папка


    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 21:14 06-12-2009
    Craager



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    это не совсем то, что нужно. Приведённая команда удаляет всю папку и создаёт её заново, а без удаления нельзя разве?? Вроде простейшая операция, а скрипта до сих пор нет ((

    Всего записей: 385 | Зарегистр. 08-06-2006 | Отправлено: 21:26 06-12-2009
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Craager
    А какая разница? Удаляй ее содержимое из самой папки:

    Код:
     
    pushd D:\Test && 2>nul rd /s /q "."
    popd  
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 21:38 06-12-2009 | Исправлено: 01MDM, 21:40 06-12-2009
    Eggorka

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите, пожалуйста, с проблемой. Задача. Надо из папки D:\IN\ скопировать в папку D:\OUT\ все файлы, причём если в папке D:\OUT\ уже присутствуют файлы с такими же именами -- переименовать новые, добавив к имени, скажем, 1. Пример. Папка IN содержит файлы aaa.txt bbb.txt ccc.zip ddd.rar, папка OUT -- файлы aaa.txt ddd.rar eee.exe. Результатом операции должен стать каталог D:\OUT\, содержащий файлы aaa.txt aaa1.txt bbb.txt ccc.zip ddd.rar ddd1.rar eee.exe.

    Всего записей: 11 | Зарегистр. 20-11-2008 | Отправлено: 22:09 06-12-2009
    Craager



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

    Цитата:
    Код:
     
    pushd D:\Test && 2>nul rd /s /q "."
    popd  
     

     
    Спасибо! Это как раз то, что нужно! Удаление содержимого всей папки: файлов, каталогов и подкаталогов (сама папка, в которой это всё происходит, при этом остаётся нетронутой).

    Всего записей: 385 | Зарегистр. 08-06-2006 | Отправлено: 22:34 06-12-2009 | Исправлено: Craager, 22:40 06-12-2009
    Smitis



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

    Цитата:
    Переменная уникальна, в системе созвучной нет. К тому же это просто пример

    Вот из-за таких допущений, типа "это никогда не может произойти" и возникают глупые ошибки. Сегодня переменной нет, а через год забылось и переменная появилась. Да и другие из-за таких примеров потом страдают

    ----------
    Разум когда-нибудь победит

    Всего записей: 3179 | Зарегистр. 09-02-2003 | Отправлено: 00:26 07-12-2009
    seregaknorrr1



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как выполнить следующее. Нужно провести проверку на наличие подключенного vpn соединения и если оно не подключено то тогда отключить сетевое подключение (lan) (это можно сделать с помощью devcon disable "hardware id"), выждать паузу в секунд 10 и подключить сетевое подключение обратно (devcon enable "hardware id") ?
     
    Возможно есть более простой вариант добиться чего я хочу. Требуеться полностью автоматизировать подключение удаленного компьютера к интернету,а в результате сбоя - переподключение. Подключение к интернет осуществляеться через VPN. Я прописал впн как сервис и каждый раз при включении компьютера оно подключаеться автоматически без проблем. Но иногда впн отваливается и переподключение не может быть установлено авто-передозвоном (прописанным в свойствах подключения) из за ошибки 769. В таком случае приходиться перезагружать компьютер и впн подключается успешно. Вопрос в том что как это организовать автоматом без участия юзера (который в это время не находиться за компьютером). Я уверен что после перезапуска локального сетевого подключения ВПН соединился бы без проблем, но не знаю как все это реализовать...

    Всего записей: 102 | Зарегистр. 19-01-2005 | Отправлено: 02:01 07-12-2009 | Исправлено: seregaknorrr1, 08:40 07-12-2009
    yurkesha



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Smitis
    Тогда дополнение: set _N заменяем на set _N|findstr /b /i "_N="
    Полный вариант такой:
    Код:
    set "_N=4^"  
    set _N|findstr /b /i "_N="| 1>nul findstr ".*=[0-9]$" && echo true  || echo invalid


    ----------
    Всем непричастным рекомендую прогулки на свежем воздухе

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 07:14 07-12-2009
    Smitis



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

    ----------
    Разум когда-нибудь победит

    Всего записей: 3179 | Зарегистр. 09-02-2003 | Отправлено: 10:32 07-12-2009
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Smitis
    Можно специально для проверки выдумать действительно уникальную переменную:

    Код:
     
    @echo off
    setlocal
     
    set "P=^4"
    set "UniqueVariable=%P%"
    set UniqueVariable | findstr ".*=[0-9]$" && echo true || echo invalid
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 10:44 07-12-2009
    MothROM2



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет, помогите с задачкой:
    Скрипт, должен заблокировать всех локальных пользователей на ПК, кроме локального админа, а ему самому сменить пароль.

    Всего записей: 50 | Зарегистр. 12-10-2004 | Отправлено: 11:14 07-12-2009
    Mr_Hat



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

    Всего записей: 984 | Зарегистр. 04-10-2005 | Отправлено: 12:00 07-12-2009
    01MDM



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MothROM2
    Скрипт потенциально опасен. Поэтому не поделюсь.

    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 12:35 07-12-2009
    mugil_cephalus

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

    Цитата:
    а если я из папки sys32 удалю в GUI systeminfo.exe, а потом в CLI выполню sfc (с синтаксисом, думаю, разберусь сам) - то в папке снова появится полноценный systeminfo.exe - я правильно понимаю?


    Всего записей: 1072 | Зарегистр. 07-09-2009 | Отправлено: 12:52 07-12-2009 | Исправлено: mugil_cephalus, 14:49 07-12-2009
    MothROM2



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

    Всего записей: 50 | Зарегистр. 12-10-2004 | Отправлено: 14:10 07-12-2009 | Исправлено: MothROM2, 14:13 07-12-2009
    AnGo



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, как вывести в файл символ новой строки?
    Нужен для формирования пустой строки при форматировании вывода из bat-файла.
    Thnx!

    Всего записей: 1078 | Зарегистр. 07-07-2002 | Отправлено: 16:06 07-12-2009
    yurkesha



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

     
    Добавлено:
    Перенаправление в файл сам сообразишь

    ----------
    Всем непричастным рекомендую прогулки на свежем воздухе

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 16:17 07-12-2009
    pgofman2

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Ситуация банальна -  надо ограничить работу ребенка на компьютере!
     
    Имеется роутер на которм я создаю временные промежутки доступа для определенного IP
    На компьютере ребенка надо установить батничек запущенный в виде сервиса (sservice.bat или еще как нибудь неприкательнее назвать)
     
    задача батника - пинговать  10 пакетами в бакгроунде каждые 10 минут  IP провайдера - и при трех неудачах принудительно отправить компьютер на выключение  
     
    PS - ребенок - программу запущенную или закинутую в старт может удалить - а вот с сервисами неразберется точно
     
    кто что посоветует?
    спасибо заранее всем кто откликнулся

    Всего записей: 66 | Зарегистр. 07-09-2006 | Отправлено: 16:32 07-12-2009
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 7
    vu1tur (25-01-2010 12:41): лимит страниц, продолжение: http://forum.ru-board.com/topic.cgi?forum=62&topic=19668


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru