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

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

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

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

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 11:53 09-01-2011 | Исправлено: mazafakermazafaka, 11:22 04-06-2011
    yurkesha



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    claus22
    Я правильно понял что нужные строки обязательно содержат надпись "bytes / sec"?
    Если да то наверное проще так:
    Код:
    type myfile.txt|find /i "bytes / sec"

     
    Добавлено:
    Притом замечу что вот так:
    Код:
    find /i "bytes / sec" myfile.txt
    получим одну мусорную строку, в отличие от первого варианта.
    Результат естественно надо будет перенаправить в другой файл...

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

    Всего записей: 2741 | Зарегистр. 15-12-2003 | Отправлено: 00:25 23-01-2011
    claus22

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    нужно чтобы выбиралось дата и время в строке содержащей Average performance :  bytes / sec
     
    т.е. это каждая 4я строка после 2й
     
    Добавлено:
    то что нужно, спасибо!

    Всего записей: 118 | Зарегистр. 21-07-2004 | Отправлено: 00:36 23-01-2011
    greydjin

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

    Цитата:
    Код:
    start nnbackup.exe sync -i "\\192.168.15.24\share\update" -o d:\update -s -v -log c:\backup\nnbackup.log
     
    В nnbackup.log появляется запись такого вида  
     
    Код:
    Fr 21.Jan.2011 16:29 Start synchronization  
    Fr 21.Jan.2011 16:29 Copying files  
    Fr 21.Jan.2011 16:29 \\192.168.15.24\share\update\3CXPhone5.msi  
     
    как мне теперь запустить 3cxphone.msi ? С учетом того что я не знаю какой именно файл скопировался. может быть и winrar.exe и любая другая программа. но если она скопировалась - надо запустить ее установку! как?
     
    king_stiven => greydjin
    То есть тебе надо вычленить из log  файла всё, после самого последнего знака  
    \  
    и запустить? Надо ещё знать полный путь к 3CXPhone5.msi

     
    То есть я знаю что все файлы копируются в C:\update
    Как тогда сделать?

    Всего записей: 8 | Зарегистр. 20-01-2011 | Отправлено: 08:00 24-01-2011
    Free_Soft



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    как можно из комстроки активировать скрытую учетную запись администратора в вин7?

    Всего записей: 1536 | Зарегистр. 19-04-2010 | Отправлено: 14:36 24-01-2011
    res2001



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

    Цитата:
    Если на компьютере с Windows XP прописан пользователь, который никогда не логинится локально, а только по сети, то желательно, чтобы его имя не отображалось в окне приветствия (Welcome Screen). Для этого нужно в разделе реестра
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon \SpecialAccounts\UserList добавить dword-параметр, соответствующий имени пользователя, и присвоить ему значение 0.
     
    Несмотря на то, что пользователя теперь не видно, под его именем всё равно можно залогиниться через классическое окно логона, которое вызывается двойным нажатием Ctrl+Alt+Del.
     
    Чтобы вернуть пользователя в список на Welcome Screen, надо установить значение данного параметра в 1, либо удалить этот параметр.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 14:54 24-01-2011
    wolf0425



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

    Цитата:
    Несмотря на то, что пользователя теперь не видно, под его именем всё равно можно залогиниться через классическое окно логона, которое вызывается двойным нажатием Ctrl+Alt+Del.  
    ну как залогиниться на ХР -  написано, да, осталось только найти способ залогиниться на win7...

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 15:33 24-01-2011
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    wolf0425
    Думаю что так же. Под рукой нет семерки.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 15:58 24-01-2011
    NIKZZZZ



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

    Цитата:
    как можно из комстроки активировать скрытую учетную запись администратора в вин7?
     


    Код:
    net user Администратор /active:yes

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 21:29 24-01-2011
    NuclearBox

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

    Код:
     
    @echo off
    for %%a in (*.*) do call :add_dir "%%a" "%cd%"
    goto :EOF
    :add_dir
    ren "%~1" "%~nx2_%~nx1"
     

     
    Необходимо его прописать через реестр в контекстное меню проводника XP, чтобы это действие выполнялось над файлом, для которого вызывается контекстное меню.
     
    Где в реестре делать стандартную запись - известно. Вопрос - КАК прописать этот батник (с какими параметрами, или как изменить код).

    Всего записей: 17 | Зарегистр. 29-09-2009 | Отправлено: 03:43 25-01-2011
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    NuclearBox
    Вот так, имя файла или файлов передаются в параметре/ах.

    Код:
    @echo off
    for %%a in (%*) do set "p=%%~dpa" & call:add_dir "%%~a" "%%p:~0,-1%%"
    goto :EOF
    :add_dir
    echo ren "%~1" "%~nx2_%~nx1"  
    exit /b

    echo не забудь убрать в предпоследней строке.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 11:27 25-01-2011 | Исправлено: res2001, 11:33 25-01-2011
    wolf0425



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

    Цитата:
    Думаю что так же. Под рукой нет семерки.
    ну так вот у меня - есть, и двойной ctrlaltdel на ней почему-то не сработал как на ХР, наверно или что-то поменяли или где-то это надо настроить...

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 11:37 25-01-2011 | Исправлено: wolf0425, 11:38 25-01-2011
    lorents



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

    Код:
    @echo off
    setlocal enabledelayedexpansion
     
    set Docs="%~dp0Docs\"
    PATH %Docs%;%PATH% >nul
     
    zipmix /y 7z.zip Rar.zip %1
    del 7z.zip >nul
    del Rar.zip >nul
    advzip -z -4 %1

    Подскажите, пожалуйста, почему мой bat ищет архивы 7z.zip и Rar.zip в папке %HOMEPATH%, как сделать чтобы он искал эти архивы в той же папке что и сам bat?

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 00:07 26-01-2011 | Исправлено: lorents, 00:11 26-01-2011
    res2001



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

    Цитата:
    Подскажите, пожалуйста, почему мой bat ищет архивы 7z.zip и Rar.zip в папке %HOMEPATH%, как сделать чтобы он искал эти архивы в той же папке что и сам bat?

    Видимо текущий каталог - это не каталог где батник запущен, потому и не ищет там.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 11:00 26-01-2011
    wolf0425



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

    Цитата:
    как сделать чтобы он искал эти архивы в той же папке что и сам bat?

    например сделать каталог  с батником - текущим: pushd "%~dp0"
    или переписать батник так, чтобы он искал архивы не в текущем  каталоге, а  в каталоге с батником.
    Невредно также добавить в батник отладочную печать %1  - чтобы удостовериться что параметром передается имя без указания пути.
     
    для каких целей в вышеприведенный батник вписаны строки
    set Docs="%~dp0Docs\"
    PATH %Docs%;%PATH% >nul
    - мне напрочь не понятно, разве что кому-то нравится хранить утилиты zipmix и advzip именно в папке Docs\ (да и в этом случае непонятно зачем промежуточное присваивание).
    и >nul там не влияет совершенно ни на что...
     

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 11:12 26-01-2011 | Исправлено: wolf0425, 12:22 26-01-2011
    lorents



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

    Цитата:
     - мне напрочь не понятно, разве что кому-то нравится хранить утилиты zipmix и advzip именно в папке Docs\ (да и в этом случае непонятно зачем промежуточное присваивание).  

    а что в этом плохого?

    Цитата:
     и >nul там не влияет совершенно ни на что...  

    это для того чтобы не отображать процессы в окне batch
     
    Добавлено:

    Цитата:
     Невредно также добавить в батник отладочную печать %1  - чтобы удостовериться что параметром передается имя без указания пути.  

    а что это такое?

    ----------
    Image Catalyst - оптимизация изображений без потери качества

    Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 13:27 26-01-2011
    king_stiven

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

    Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 15:11 26-01-2011 | Исправлено: king_stiven, 15:24 26-01-2011
    greydjin

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

    Код:
     for /f "delims=" %%I in (filelist.log) do start %systemdrive%:\update\%%I  

    в файле filelist.log есть две строки которые иногда меняются:
    например сегодня:
    ss.exe
    th.exe
     
    а завтра:
     
    ff.exe
    7z.msi
     
    И мне нужно чтобы когда появлялась запись ss.exe - она запускалась с параметром /s, а когда файл ff.exe то параметр /q. Ну и для других файлов другие параметры. Как это сделать?

    Всего записей: 8 | Зарегистр. 20-01-2011 | Отправлено: 16:10 26-01-2011
    wolf0425



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

    Цитата:
     а что в этом плохого?  
    да как-то в каталоге с именем Docs чаще ожидают увидеть например документацию, а не какие-то утилиты. Уж не знаю почему.
     

    Цитата:
    это для того чтобы не отображать процессы в окне batch  
    команда path и без перенаправления ничего не отображает. Тем более она не отображает никаких процессов.
     

    Цитата:
    а что это такое?
    ты о чем? о отладочной печати знает гугл, о %1 - предполагается что должен знать ты...
    строку echo.%1 воткни в код для отладки, если не понятно
     
     
     
     
     
     

    Всего записей: 2928 | Зарегистр. 25-04-2007 | Отправлено: 17:07 26-01-2011
    bredonosec



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    кто напомнит -  
    чтоб запустить сервис на удаленном, надо  
    sc \\%1 start [servicename /parameters]
     
    а чтоб выполнить задачу - что писать? тоже старт?
    напр, если локально команда звучит как  
    w32tm /resync /rediscover
     - синтаксис удаленный будет
    sc \\%1 start w32tm /recync /rediscover  
    ?  
     
    Или какой? (%1 - переменная, имя компа туда передается, для краткости)
     
    Добавлено:
    или тут уже psexec юзать надо?

    ----------
    Вопрос: 'Что человек курит?' как правило возникает не когда ты слышишь, как он дышит, а когда видишь, что он пишет
    Пропеллер играет роль вентилятора, он останавливается -пилот потеет
    Аськи нету.

    Всего записей: 16257 | Зарегистр. 13-02-2003 | Отправлено: 17:16 26-01-2011
    res2001



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

    Цитата:
    или тут уже psexec юзать надо?  

    надо

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 17:36 26-01-2011
       

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

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 10
    vu1tur (29-07-2011 12:47): Задачи на bat-файлах 11


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru