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

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



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

    Цитата:
    If /i %COMMANDER_PATH%==%CustomPath:~0,11% Set LessPart=%CustomPath:~12%  
     

    Содержимое переменных не известно! Откуда я могу взять длину переменных?

    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 15:51 03-05-2007
    wolf0425



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka
    что-то мне говорит, что  считать путь D:\totalcmd частью списка путей D:\totalcmd\Utilites;* - заказчик посчитает неправильным
    или я чего-то неправильно понимаю?

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 15:53 03-05-2007 | Исправлено: wolf0425, 16:01 03-05-2007
    0Vovan0



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

    Цитата:
    Какие окна, у меня ничего не всплывает  Может ты имеешь в виду, что нужно запустить приложение в свёрнутом виде, тогда так Start /wait /low /min

    Ну у меня всплывают) всмысле при выполнении новой команды окошко консоли появляется, и оказывается поверх всех окон. ну ключ /min решает эту проблему, вообще мне проще всего если оно в том же окошке было бы

    Цитата:
    Как не написано, запусти командную строку и выполни start /?, у меня этот ключ описывается(OS WinXp SP2)

    точно, вписали wait между приоритетами, не рассмотрел)
     
    Респект за код определяющий имя текущей папки, наконец разобрался, правильно заработал только твой вариант , только кавычки одни добавить надо иначе от папки с пробелами отсается только часть

    Код:
     
    Call :MyDir "%CD%"
    Goto :EOF
    :MyDir
    Set CurDir=%~nx1
    If not defined CurDir (Echo This is root directory) Else (Echo %CurDir%)
     

    Мб стоит в шапку добавить

    Всего записей: 2370 | Зарегистр. 15-07-2005 | Отправлено: 16:00 03-05-2007 | Исправлено: 0Vovan0, 23:51 03-05-2007
    GORA2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425
    Попробовал так (переменные задаются вне батника):
    @echo off
    setlocal enabledelayedexpansion
    echo COMMANDER_PATH - %COMMANDER_PATH%
    echo CustomPath - %CustomPath%
    set LessPart=!CustomPath:%COMMANDER_PATH%;=!
    echo LessPart - %LessPart%
    Получил:
    COMMANDER_PATH - D:\totalcmd
    CustomPath - D:\totalcmd\Utilites1
    LessPart - D:\totalcmd\Utilites1
     
    Что то не работает!?

    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 16:12 03-05-2007 | Исправлено: GORA2, 16:13 03-05-2007
    wolf0425



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

    я действительно неправильно понял что тебе надо - считал что твои переменные путей по структуре аналогичны %path%, т.е. в них списки папок, соответсвенно вытирал разделитель ;
     
    set LessPart=!CustomPath:%COMMANDER_PATH%=!  
     
    я правда не очень понимаю - нафига такой  LessPart, но может ты знаешь
     

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wolf0425
    Спасибо вроде работает. Правда если:
    set COMMANDER_PATH=D:\totalcmd
    set CustomPath=D:\totalcmd1\Utilites1\
    то выдает
    COMMANDER_PATH - D:\totalcmd
    CustomPath - D:\totalcmd1\Utilites1\
    LessPart - 1\Utilites1\
    что является не совсем подходяшим для меня, но все в соответствии с постановкой мной вопроса . Попробую сам отловить отсутствие слеша в начале LessPart. Еще раз спасибо.

    Всего записей: 1271 | Зарегистр. 26-01-2006 | Отправлено: 16:33 03-05-2007
    Maza Faka



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

    Цитата:
    что-то мне говорит, что  считать путь D:\totalcmd частью списка путей D:\totalcmd\Utilites;* - заказчик посчитает неправильным  

    Ну я же не знал, что вопрос касается уже существующего кода, думал это отдельно...

    Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 17:53 03-05-2007
    Vick_Tor



    Newbie
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Все таки я не догоню, почему в архив он добавляет с папки New?
    Содержимое архива: New\Имя_компьютера\Documents and Settings\Имя_юзера
    Что исправить для такого содержания архива: Documents and Settings\Имя_юзера
     
    XCOPY "%HOMEPATH%"\*.doc D:\New\%USERDOMAIN%\"%HOMEPATH%" /d /s /i
    XCOPY "%HOMEPATH%"\*.rtf D:\New\%USERDOMAIN%\"%HOMEPATH%" /d /s /i
    RAR a D:\New\%USERDOMAIN%.rar D:\New\%USERDOMAIN%\"%HOMEPATH%"

    Всего записей: 2 | Зарегистр. 06-03-2007 | Отправлено: 19:05 03-05-2007
    Elroir



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

    Код:
    RAR a -ep1 D:\New\%USERDOMAIN%.rar D:\New\%USERDOMAIN%\"%HOMEPATH%"

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 19:20 03-05-2007
    wolf0425



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

    Цитата:
    Попробую сам отловить отсутствие слеша в начале LessPart. Еще раз спасибо.  

    ты лучше не в начале LessPart отлавливай слеши, а в конец COMMANDER_PATH добавляй, если там нет. Или при поиске/земене или по жизни.
     
    Vick_Tor
    Цитата:
    Все таки я не догоню, почему в архив он добавляет с папки New?
    Содержимое архива: New\Имя_компьютера\Documents and Settings\Имя_юзера
    Что исправить для такого содержания архива: Documents and Settings\Имя_юзера  

     
    XCOPY "%HOMEPATH%"\*.doc D:\New\%USERDOMAIN%\"%HOMEPATH%" /d /s /i
    XCOPY "%HOMEPATH%"\*.rtf D:\New\%USERDOMAIN%\"%HOMEPATH%" /d /s /i
    cd /d D:\New\%USERDOMAIN%
    RAR a D:\New\%USERDOMAIN%.rar "%HOMEPATH%"

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 19:29 03-05-2007
    JohnRD

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите пожалуйста как можно заменить это значение в реестре для ветки Default User
    Value data

    Код:
     
    C:\Documents and Settings\sergeev_ss\Local Settings\Application Data\TechSmith\Camtasia Studio\4.0\Camtasia Recorder\Libraries\Layouts.caml
     

    так не понимает
    %USERPROFILE%\Local Settings\Application Data\TechSmith\Camtasia Studio\4.0\Camtasia Recorder\Libraries\Layouts.caml

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 10:31 04-05-2007
    Maza Faka



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

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnRD
    Поподробней - что там есть сейчас, в какой ветке реестра, какого типа там значение. Для чего делается замена?

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 15:09 04-05-2007
    JohnRD

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Maza Faka Elroir
    есть прога Camtasia Recorder - используется для записи рабочего стола при удаленной помощи
     
    она при первом запуске в каждом профиле настраивается, те вписывает в HKCU реестра вот такого плана значения

    Код:
     
    [HKEY_CURRENT_USER\Software\TechSmith\Camtasia Studio\4.0\Camtasia Recorder\4.0]
    "LayoutCatalogueLoc"="C:\\Documents and Settings\\radionov_ea\\Local Settings\\Application Data\\TechSmith\\Camtasia Studio\\4.0\\Camtasia Recorder\\Libraries\\Layouts.caml"
     

     
    сдесь все настройки программы, грубо говоря ее нужно настраивать каждому пользователю
    мне нужно сделать чтобы юзеры Хелп Деска при входе на сервер имели все настройки этой проги для своего профиля, я пытался скопировать эти значения в ветку Default User  
    прога при запуске спрашивает куда сохранять Layouts.caml
    похоже она не понимает такие вещи  
    %USERPROFILE%\Local Settings\Application Data\TechSmith\Camtasia Studio\4.0\Camtasia Recorder\Libraries\Layouts.caml
     
    сами файлы я положил сюда C:\Documents and Settings\Default User\Local Settings\Application Data\TechSmith\Camtasia Studio\4.0\Camtasia Recorder\Libraries\...
     
    эти файлы ей нужны с правами write, я пробовал копировать их в папку D:\1\Layouts.caml  и давать права на запись, прога запускается без лишних вопросов....  с правами Read опять спрашивает куда в какой файл сохранять..

    Всего записей: 205 | Зарегистр. 29-08-2004 | Отправлено: 15:57 04-05-2007 | Исправлено: JohnRD, 16:08 04-05-2007
    MegaSin

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Elroir
    проблема в том, что у некоторых пользователей не работает скрипт.... нечем выполнять, открывает как текстовый файл
    Maza Faka
    спс, вроде работает

    Всего записей: 25 | Зарегистр. 26-11-2006 | Отправлено: 16:35 04-05-2007
    Elroir



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MegaSin
    Что, даже так не запускается?:

    Код:
    cscript /E:VBScript //nologo file.vbs

     
    Добавлено:
    JohnRD
    Попробуй при записи в реестр использовать тип данных не REG_SZ (обычная строка), а REG_EXPAND_SZ (расширяемая строка).

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 16:46 04-05-2007
    YSTAL



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нужен батник ( или точнее команда)содержание команды
    (связаное с rundll32.exe)
    Как с помощью батника запустить программу "Выполнить"
    расположенную в меню "ПУСК"
     
    rundll32.exe shell32.dll, ......а дальше........
     
    для большего уточнения говорю что нужна "командная строка с возможностью
     "Обзора"......)

    Всего записей: 131 | Зарегистр. 31-01-2007 | Отправлено: 17:21 04-05-2007
    Maza Faka



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    JohnRD
    А ты сделай ярлык на батник примерно такого содержания:

    Код:
     
    @Echo off
     
    Reg add "HKCU\Software\TechSmith\Camtasia Studio\4.0\Camtasia Recorder\4.0" /t REG_SZ /v LayoutCatalogueLoc /d "C:\Documents and Settings\%USERNAME%\Local Settings\Application Data\TechSmith\Camtasia Studio\4.0\Camtasia Recorder\Libraries\Layouts.caml"
     
    Xcopy /y /d /s /e /i D:\TechSmith\Camtasia Studio\4.0\Camtasia Recorder\Libraries\Layouts.caml %USERPROFILE%\Local Settings\Application Data\TechSmith\Camtasia Studio\4.0\Camtasia Recorder\Libraries\Layouts.caml
     
    Start "" "C:\Prog\MyProg.exe"
     

    и пусть пользователи запускают прогу через батник, какой бы пользователь не вошёл в систему, в реестр будет добавлятся ключ в котором содержится путь к профилю с настройками, будут копироваться файлы, настройки программы в его профиль, а затем запускаться прога.

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    YSTAL
    Ты уверен, что это возможно сделать с помощью rundll32? Я нигде не встречал упоминаний об этом. Кстати, "Выполнить" - это не программа, это диалоговое окно.

    Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 18:11 04-05-2007
    igor_andreev

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

    Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 21:05 04-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