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

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

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

vu1tur (11-09-2007 15:22): продолжаем в теме Задачи на bat-файлах 4  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

vu1tur



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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:54 27-04-2007 | Исправлено: Elroir, 03:59 10-09-2007
    Sergey9990

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Такой вопрос:
    В батнике например вызывается

    Код:
     
    call java -version 2> tmp
     

    а можно как нибудь перенаправить поток чтобы писалось не в файл а в переменную т.е. что нибудь типа:

    Код:
     
    set VERSION=""
    call java -version 2>VERSION
     

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



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

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

    Нет. Можно перенаправить в файл, а оттуда в переменную или делать разбор с помощью "for /f"
     
    Добавлено:
    То есть после команды "java -version 2> tmp", надо запустить "set /p jver=<tmp"

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



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    А где можно скачать MS утилиту "freedisk.exe", поделитесь сцылкой, а то в инете только в составе Resource Kit можно скачать, а я на dial-up-е...

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 11:21 09-05-2007
    NIKZZZZ



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

    Цитата:
    А где можно скачать MS утилиту "freedisk.exe"

    Да например здесь.

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 11:35 09-05-2007
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    NIKZZZZ
    Нет, ты не понял, мне нужна утилита командной строки "freedisk.exe" (входит в состав Windows 2003 Server Resource Kit), а ты мне линк на прогу какую-то дал...

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

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka
    Отсюда можно http://www.dynawell.com/support/ResKit/win2k.asp

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 15:31 09-05-2007
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    igor_andreev
    Спасибо, отличный ресурс!

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 16:33 09-05-2007
    euheny



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
    А что за утиля такая ? у меня в трей садится , а открываться не хочет . Может моя винда слишком худа для неё .

    Всего записей: 4174 | Зарегистр. 22-11-2006 | Отправлено: 04:39 10-05-2007
    squxe

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Может кто-нибудь знает. У меня такая проблема. В bat-файле использую переменную %* как входной параметр для 7-zip (надо сжать все выделенные файлы). Сам bat-файл запускаю через SendTo. Но %* возвращает только первые 255 символов (6-7 файлов максимум).

    Всего записей: 135 | Зарегистр. 10-05-2007 | Отправлено: 10:57 10-05-2007
    slayer120



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425
     спасибо, все оказалось просто как все гениальное!
      А все же на будущее, как сравнивать даты файлов?

    Всего записей: 303 | Зарегистр. 24-01-2007 | Отправлено: 11:04 10-05-2007
    wolf0425



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

    Цитата:
    Ему надо заменить украинские символы  "i" и "ї"на "и" и "йы"
    >>а батник - кривой до невозможности
    Предложи свой вариант

    а получите. совершенно без лишних пересканирований дерева и потенциальных зацикливаний.

    Код:
     
    @echo off
    setlocal enabledelayedexpansion
    chcp 1251 >nul
     
    :recursive
    pushd %*
    for %%a in (*.*) do echo "%%~a" | find /i /v "i" | find /i /v "ї" >nul || call :rename "%%~a"
    for /d %%a in (*.*) do call :recursive "%%~fa" & echo "%%~a" | find /i /v "i" | find /i /v "ї" >nul || call :rename "%%~a"
    popd
    goto :eof
     
    :rename
    set "newname=%~1"
    set "newname=%newname:i=и%"
    set "newname=%newname:I=И%"
    set "newname=%newname:ї=йы%"
    set "newname=%newname:Ї=ЙЫ%"
     
    ren "%~1" "%newname%" 2>> %~dpn0.log || echo (%time%) can't rename "%~f1" >> %~dpn0.log
    goto :eof

    кстати интересно, с какого перепуга set "newname=%newname:Ї=ЙЫ%"
    чуствительно к регистру для этих двух букв (в норме - нечуствительно), хотя find /i всё кушает нормально...
    И не вылезет ли из этого проблема.
     
    И по-режнему непонятен вопрос постаноки - что же делать с ошибками переименования.
    т.е. например в каталоге есть и файл "ї" и уже есть "йы".
    и аналогичный вопрос с каталогами.
    я выбрал - на все ошибки ничего не делать, только писать лог.
     
    кстати  

    Цитата:
    move "%%a" "!dirname!" 2>nul | find /i "перемещено" && goto rendir  

    найдя каталог "ї" совершенно молча переместит его внутрь случайно лежащего рядом "йы" в виде подкаталога...
    зачем вообще было move.exe  привлекать для переименования, если она не помогает как раз в той ситуации когда нужна - кто-то из предшественников пояснит?

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 11:16 10-05-2007 | Исправлено: wolf0425, 16:10 10-05-2007
    Smarsh

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть тут у меня пара вопросиков....
    1. Есть ли идеи как добраться из командной строки до локальной политики безопасаности...
    2. Что гораздо интереснее, как добрать до настройки в св-вах tcp-ip, в дополнительных параметрах до галочки "Зарегистрировать адреса этого подключения в DNS".

    Всего записей: 20 | Зарегистр. 20-02-2007 | Отправлено: 12:01 10-05-2007
    SPV_Ed



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

    Цитата:
    Есть ли идеи как добраться из командной строки до локальной политики безопасаности

    Через Ж - сделать снэпшоты реестра до и после натравливать reg(edit).exe

    Всего записей: 474 | Зарегистр. 20-06-2006 | Отправлено: 12:22 10-05-2007
    Smarsh

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SPV_Ed
    Ну да об этом я уже думал... а утилитки нет ни какой? чтоб пустить её с параметрами?
     
    По поводу вопроса 2... это можно сделать так...
     
    netsh interface ip set dns "Подключение по локальной сети 2" static 192.168.0.1 register=none
     
    Собственно теперь другой вопрос... как мне получить имя активного сетевого подключения?

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Smarsh 2. посмотри netsh interface ip set dns ?
     
     
    Добавлено:

    Цитата:
    как мне получить имя активного сетевого подключения?  

    вытащи из netsh interface show interface

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 12:31 10-05-2007
    Smarsh

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425
    Ну я получу список интрефейсов среди которых будет и пара подключение по локальной сети и модемное подключение и впн и черти что .  
    Может по адресу шлюза отловить?

    Всего записей: 20 | Зарегистр. 20-02-2007 | Отправлено: 12:42 10-05-2007
    demOOnk

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Извините, поиском не воспользовался.
    Задача: устанавливаю переменные окружения через setx. Необходима актуализация.
    т.к. до перезагрузки или пока не войдеш в адвансед сеттингс(Win+Pause)->Enviroment variable->Ok они недоступны программам. Хотя в этом же батнике они становятся доступны.
    Есть ли варианты по актуализации?

    Всего записей: 24 | Зарегистр. 16-01-2006 | Отправлено: 12:45 10-05-2007
    Smarsh

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    По поводу первого вопроса...
    Мне надо в Локальных политиках безопасности изменить параметр "Параметры автоматической подачи заявок"
    При его изменении меняеться ключ в реестре такой  
    HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{ЦИФЕРКИ}Machine\SOFTWARE\Policies\Microsoft\Cryptography\AutoEnrollment\AEPolicy    
     
    И все бы отлично, но на каждом компе {Циферки} разные Что делать теперь не знаю

    Всего записей: 20 | Зарегистр. 20-02-2007 | Отправлено: 12:58 10-05-2007
    KapralBel



    Platinum Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    demOOnk
    Пробуй перезагрузить программу, из которой вызывается батник

    Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 13:03 10-05-2007
    Smarsh

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

    Цитата:
    netsh interface ip set dns "Подключение по локальной сети 2" static 192.168.0.1 register=none

    Здесь еще косяк не могу прикруть вторичный dns адресс.

    Всего записей: 20 | Зарегистр. 20-02-2007 | Отправлено: 13:37 10-05-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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 3
    vu1tur (11-09-2007 15:22): продолжаем в теме Задачи на bat-файлах 4


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru