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

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

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

evle (19-03-2008 19:44): Лимит страниц.
Задачи на bat-файлах 5
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 15:21 11-09-2007 | Исправлено: Elroir, 01:52 26-02-2008
    KapralBel



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

    Код:
    ren Gold_system system
    ren system Gold_system  

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 09:46 25-10-2007
    PrinceX



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

    Всего записей: 105 | Зарегистр. 15-01-2002 | Отправлено: 09:48 25-10-2007
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    pgofman2
    Ммм...неужели трудно в справке посмотреть?

    Код:
     
    net share MyShare /delete
     

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 10:55 25-10-2007
    andrey753

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Привет народ  
     
    Нужно с сервера по сети копировать 4 папки, и сувать их в архив, в качестве имени архивного файла - число дата и месяц на время архивации, поскажите как это сделать?

    Всего записей: 277 | Зарегистр. 19-04-2007 | Отправлено: 14:53 25-10-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    andrey753
    RAR a Arhive -AG_MM_DD \\Server\Drive_C\Folder\*.* \\Comp1\D$\Games\*.*

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:30 25-10-2007
    William Gates

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka
    Elroir
    KapralBel
    Спасибо за решения!
     
    Есть еще задача. Хочу доработать батник, который копирует файлы из папки в папку и потом распаковывает их. Суть такова: перед началом копирования надо проверить есть ли в каталоге system32 файлы 7z.exe и hs_message.exe. Если есть то продолжить, если нет скопироваь из какого-нибудь расшаренного ресурса, напр. \\comp\d в системный каталог. Дальше проверяем есть ли каталог для копирования(куда копируется файл). Если нет создаем и выполняем следующие команды батника(копируем и т.д.). Заранее благодарю.

    Всего записей: 22 | Зарегистр. 12-10-2007 | Отправлено: 16:45 25-10-2007
    Smitis



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

    Цитата:
    Например в Windows для решения этой задачи можно было написать bat-ник с соответствующими функциями (копирования, удаления, переименования и т.д.) и поставить на автозагрузку на флешке (Тоесть, при подключении флешки - запускался батник, выполнялись прописанные манипуляции и через некоторое время все было готово).

    Автозагрузка и в виндах то маловероятно что сработает - обычно её отключают, а тем более автозагрузка с флешки (сейчас есть вирусы, распространяющиеся именно через автозагрузку). А тут ещё и специально заточенная версия линукса. В общем, почти наверняка, не выйдет.
     
    П.С. В линуксе свои шеллы есть, помощнее виндового cmd.

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

    Всего записей: 3217 | Зарегистр. 09-02-2003 | Отправлено: 17:01 25-10-2007 | Исправлено: Smitis, 17:02 25-10-2007
    Alex_Horoshiy



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Никто не решал такую задачу. Есть папка с:\Arhiv в котоую пишутся системой файлы вида xxxxxxxx.xxx. Задача заключается в том что проверять сколько свободного места на диске c: Если допустим меньше 5 Gb то папке с:\Arhiv найти самый старый файл и удалить его. Все это в цикле пока свободное место на диске с: не станет больше 5Gb.
    Данное решение написано на перле и работает, но из-за того что теперь Windows 2003 Server x64 приходится искать решение заново.

    Всего записей: 20 | Зарегистр. 17-01-2003 | Отправлено: 18:02 25-10-2007
    Maza Faka



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

    Код:
     
    @echo off
    for %%a in (7z.exe hs_message.exe) do if not exist %windir%\system32\%%a copy \\comp\d\%%a %windir%\system32
     

     
    2.

    Код:
     
    @echo off
    if not exist d:\Folder\nul md d:\Folder
     

     
    Добавлено:
    Alex_Horoshiy
    Пробуй:

    Код:
     
    @ECHO OFF
     
    :BEGIN
    FREEDISK /D C: 5GB>NUL
    IF %ERRORLEVEL%==1 (
       FOR /F "DELIMS=" %%B IN ('DIR C:\ARCHIV\*.* /B /O:D') DO DEL /F /Q "C:\ARCHIV\%%B" & GOTO :BEGIN) ELSE (
       GOTO :EOF)
     

     
    Батник удаляет самые старые файлы по дате изменения.
    Так, как батник удаляет файлы, то на всякий случай перед запуском сделай бэкап важных файлов.
     
    Добавлено:
    Млин, чуть не забыл про утилиту Freedisk из Windows Resource, скачать можешь отсюда

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 18:26 25-10-2007 | Исправлено: Maza Faka, 19:12 25-10-2007
    Elroir



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

    Цитата:
    if not exist d:\Folder\nul md d:\Folder

    С точки зрения полного соответствия поставленной задачe - все верно
    Но, на самом деле, хватит и этого:

    Код:
     
    md d:\Folder 2>nul
     


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

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 02:45 26-10-2007
    Maza Faka



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

    Цитата:
    на самом деле, хватит и этого:  
    Код:  
    md d:\Folder 2>nul

    Ты прав! Краткость сестра таланта.

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 07:43 26-10-2007
    xMavRx

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Очень нужен батничег, который будет менять настройки ИЕ, а именно: Настройки -> Параметры интернета -> Подключения -> Настройка сети -> Прокси сервер.... Вот тут то мне и нада поставить галочку... понимаю, что это наверняка  делается одной короткой  командой, но  я незнаю её =/ Помогите плз....

    Всего записей: 3 | Зарегистр. 26-10-2007 | Отправлено: 11:36 26-10-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    xMavRx
    В реестр надо прописывать
    А куда - найди сам

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:58 26-10-2007
    xMavRx

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    спасибо, сузил поиски =)

    Всего записей: 3 | Зарегистр. 26-10-2007 | Отправлено: 12:02 26-10-2007
    Maza Faka



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

    Код:
     
    @ECHO OFF
    REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /D 1 /f
     

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 12:04 26-10-2007
    xMavRx

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Да, спасибо.
    /стал умнее, юзая поиск

    Всего записей: 3 | Зарегистр. 26-10-2007 | Отправлено: 12:26 26-10-2007
    Smitis



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

    Цитата:
    Данное решение написано на перле и работает, но из-за того что теперь Windows 2003 Server x64 приходится искать решение заново.

    Не верю, что не нашлось Перла для x64

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

    Всего записей: 3217 | Зарегистр. 09-02-2003 | Отправлено: 14:34 26-10-2007
    pgofman2

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    xMavRx
     
    ранних постах находил - сам пользуюсь
     
    установить настройки соединения -  
    netsh interface ip set address "Internet" static 192.168.0.4 255.255.255.0 192.168.0.1 1
     
    включить прокси в ие -  
    Reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f  
     
    указать через какой прокси -
    Reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /t REG_SZ /d 192.168.0.1:3128 /f  

    Всего записей: 66 | Зарегистр. 07-09-2006 | Отправлено: 15:02 26-10-2007
    nidvoxx

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

    Код:
     
    ping gs.chel-net.ru > gs.chel-net.ru.txt
    ping google.com > google.com.txt
     

     
    попробовал через start, пингует, а в файл не пишет:

    Код:
     
    start ping gs.chel-net.ru > gs.chel-net.ru.txt
    start ping google.com > google.com.txt
     

     
    ps и еще, как в win кодировке записать вывод от пинга, а то кракозябы пишутся

    Всего записей: 280 | Зарегистр. 19-08-2003 | Отправлено: 15:20 26-10-2007 | Исправлено: nidvoxx, 15:23 26-10-2007
    01MDM



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

    Цитата:
     
    как в win кодировке записать вывод от пинга
     

     

    Код:
     
    @echo off
    for /f "tokens=*" %%i in ('ping ya.ru') do (call:convert %%i)
    goto:eof
    :convert
    chcp 1251 >nul
    echo %*>>1.txt
    chcp 866 >nul
     

     
    Добавлено:

    Цитата:
    подскажите как запустить одновременно

     
    Через временные батники

    Код:
     
    @echo off
    echo ping ya.ru ^> 1.txt >ping1.cmd
    echo exit >>ping1.cmd
    echo ping google.ru ^> 2.txt >ping2.cmd
    echo exit >>ping2.cmd
    start ping1.cmd
    start /wait ping2.cmd
    del /q ping*.cmd
     


    Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 15:46 26-10-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 101 102 103

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 4
    evle (19-03-2008 19:44): Лимит страниц.
    Задачи на bat-файлах 5


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru