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

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

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

vu1tur (04-09-2010 17:46): http://forum.ru-board.com/topic.cgi?forum=62&topic=21297  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

   

vu1tur



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

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

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

  • Всего записей: 3690 | Зарегистр. 01-02-2003 | Отправлено: 12:40 25-01-2010 | Исправлено: bomzzz, 13:37 20-08-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ComradG
    Да, я видел уже. Там прокомментирую, если хочешь.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 17:17 22-06-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ComradG
    Нет, ну что ты... Я тут увидел хэлп и мну осенило- а почему бы... А вот попробовать- не судьба...
    res2001
    STDERR в STDOUT... Хм... Или я чего- то не понял, или cmd.exe у меня глючит, но насколько я понял я должен был бы увидеть ещё что- то, кроме вывода: "Недопустимая команда бла-бла-бла"... или я жду чего- то невозможного?

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 17:20 22-06-2010
    ComradG



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

    Цитата:
    STDERR в STDOUT
    просто наверное перемудрил чего , можешь с этого места поподробнее.

    Всего записей: 2041 | Зарегистр. 05-07-2008 | Отправлено: 17:20 22-06-2010
    SPY



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    цитирую свой вопрос отсюда
    http://forum.ru-board.com/topic.cgi?forum=35&topic=44569&start=4040#6
     

    Цитата:
    а флэшке есть 1С v7 + есть база к ней там же..  
    какбе создать такой хитрый исполняемый файл, чтобы он запускал 1С-ку с нужной базой с этой флешки на любом компе (т.е. не привязываться к букве диска)?

     
    есть варианты?

    Всего записей: 646 | Зарегистр. 07-11-2003 | Отправлено: 17:25 22-06-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ComradG
    Мне что- то подсказывает, что в STDERR при любом раскладе что- то должно писаться.
    А если ето что- то должно писаться в STDERR то и перенаправлено (дублировано?) число должно быть, по логике команды в STDOUT, а следовательно и выведено на экран... но этого нет(((

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 17:27 22-06-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    us0r
    все правильно ты увидел.
    команда dir ///, заведомо ошибочная, поэтому все что она выводит идет в STDERR.
    можешь проверить так:
    dir /// 1>dirok.txt 2>direrr.txt
     
    и посмотри файлы dirok.txt и direrr.txt
     
     
    Добавлено:
    us0r
    позапускай dir с разными параметрами и с таким перенаправлением (1>dirok.txt 2>direrr.txt )
    и посмотри что в разных случаях получается в файлах.
     
    Добавлено:
    ComradG
    смотри

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 17:28 22-06-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    SPY
    Доступные ключи запуска 1С 7.7 есть?

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 17:35 22-06-2010
    ComradG



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    res2001
    Посмотрел, и если честно, то я давно озадачен временными штампами. У меня тут возникла идея с генерацией батником vbs-ки, которая бы выполнив всю грязную работу удалялась бы сама, но wscript я не очень люблю трогать без крайней нужды. Так что пойду еще раз ковырну %~tI и ntvdm. Если чего будет толкового, дам знать.

    Всего записей: 2041 | Зарегистр. 05-07-2008 | Отправлено: 17:40 22-06-2010
    res2001



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

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 17:47 22-06-2010
    SPY



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    us0r
    1cv7.exe MODE [ /M | /D(Path) | /U(Path) | /N(Name) | /P(Pass) | /@(filename)],
    где MODE - режим запуска, может принимать только одно из трех значений :
    config - режим конфигуратора;
    debug - режим отладчика;
    enterprise - рабочий режим.
    monitor - монитор пользователей.
    следующие ключи не обязательны:
    /M - запуск программы в монопольном режиме;
    /D - автоматический запуск базы, находящейся в указанном каталоге. Если эта ИБ еще не зарегистрирована, то будет показан диалог добавления ИБ;
    /U - рабочий каталог пользователя (каталог из списка пользователей игнорируется);
    /N - имя пользователя;
    /P - пароль пользователя;
    /@ - запуск выполнения указанного командного файла.

     
    Добавлено:
    us0r
    нашел один пример
    http://forum.ru-board.com/topic.cgi?forum=5&topic=6920&start=820#8
     
    %1:\1С\1cv7_p~1.exe ENTERPRISE /D%1:\1С\BASA\  
     
    но минус в том, что при запуске выпрыгивает диалог добавления базы, вот как бы этот шаг обойти, нужно чтоб пользователь не указывал ничего, а база сразу запускалась..

    Всего записей: 646 | Зарегистр. 07-11-2003 | Отправлено: 18:04 22-06-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    %1 разве заменяет букву диска?
    В принципе что- то такое:
    1c.bat

    Код:
    @echo off
    cls
    REM Если есть желание указывать букву флешки ручками
    setlocal
    set %disk%=%~d0
    start %disk%\1C\1cv7_p~1.exe MODE enterprise /D%disk%\1C\BASA\
    endlocal

    авторан

    Код:
    [autorun]
    action=Launch 1C v7.7 Portable
    icon=1C\1cv7_p~1,1
    //тут что больше нравится- или .bat или напрямую указать параметры запуска.
    //Батник надёжнее, т.к. авторан могёт быть отрублен
    open=1c.bat

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 18:49 22-06-2010 | Исправлено: us0r, 18:50 22-06-2010
    king_stiven

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

    Цитата:
    какбе создать такой хитрый исполняемый файл, чтобы он запускал 1С-ку с нужной базой с этой флешки на любом компе (т.е. не привязываться к букве диска)?  

    То есть грубо говоря запустить прогу с флэшки, не зная буквы диска батником, который находится не на флэшке? Если флэшку ты сам делаешь, то очень просто.

    Цитата:
    /D - автоматический запуск базы, находящейся в указанном каталоге. Если эта ИБ еще не зарегистрирована, то будет показан диалог добавления ИБ;  

    Ну и как происходит этот диалог добавления?

    Всего записей: 2232 | Зарегистр. 17-07-2006 | Отправлено: 18:53 22-06-2010
    us0r



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Что- то у меня параметры 1С 7.7 не пережёвывает вообще... Ошибка синтаксиса комманды... Хрень какая- то...

    Код:
    [autorun]
    //Пример с автораном
    action=Launch 1C v7.7 Portable  
    icon=1C\1cv7_p~1,1  
    open=1C\1cv7_p~1.exe MODE enterprise /D..\1C\BASA\

    Глагне что бы эско относительные пути понимала...
     
    Добавлено:
    king_stiven
    Там окошко в 3 шага. 1- выбор типа базы через RadioButton, 2- название базы, 3- указание пути к базе...
     
    Добавлено:
    Пути не понимает. Запуск из батника не идёт... Бред.

    Всего записей: 407 | Зарегистр. 06-12-2007 | Отправлено: 19:06 22-06-2010 | Исправлено: us0r, 19:11 22-06-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    SPY
    А где 1С хранит настройки баз?

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 21:01 22-06-2010
    wolf0425



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

    Цитата:
    А где 1С хранит настройки баз?
    77 -  в регистри

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 21:55 22-06-2010
    SPY



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

    Код:
     
    @echo off  
    cls  
    REM поправленный вариант
    setlocal  
    set %disk%=%~d0  
    start %disk%\1Cv77\BIN\1cv7s.exe enterprise /D%disk%\1Cv77\Bases\имя_базы\SSTDB\
    endlocal
     

     
    этот вариант более-менее рабочий получился..
    точно ща не скажу, но один раз только при первом запуске на новом ПК выдалось окно с выбором базы (я просто с пользователями ещё игрался), но путь уже верный прописывается в любом случае... последующие запуски сразу проходят на ура, а база при этом называется просто стандартным именем 'информационная база #1'.
     
    res2001
    Сложно так сказать. Где какие хранит..
    Вот тут что-то хранит..
    HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles
    имена информационных баз и пути к ним..
    строковый параметр = путь к базе
    значение = заданное имя
     
    Было бы кстати не плохо в батнике назначить имя базе, иначе может возникнуть путаница на компьютере с уже предустановленной 1С, ведь там появится новый путь, и имя.. и у пользователя будет недоумение откуда! А если назвать, к примеру, 'база_с_флешки' - всё будет понятно и ясно!
     
    вообще ветка создается такая, и там много чего..
    HKEY_CURRENT_USER\Software\1C

    Всего записей: 646 | Зарегистр. 07-11-2003 | Отправлено: 21:57 22-06-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    SPY
    Чтоб 1С не спрашивала регистрацию базы при запуске из батника с параметрами, надо предварительно в этом же батнике установить нужные настройки в реестре, а потом уже запускать 1С.
    У меня 1С нет, не на чем эксперименты ставить. Поэтому только идея.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 08:52 23-06-2010
    mflash123

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

    Код:
    sc stop sharedaccess
    msg * %errorlevel%
     

    Ответ : [SC] ControlService FAILED 1062:
    Но %errorlevel% возвращает 0

    Всего записей: 30 | Зарегистр. 15-06-2009 | Отправлено: 10:12 23-06-2010
    res2001



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    mflash123
    ну тут вопросы к sc.
    К тому же сама sc ничего не запускает, а дает команду виндовому менеджеру служб (или как там он называется), запустить/остановить службу. Так что с точки зрения sc - все нормально, просто ей вернул такой ответ менеджер служб.

    Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 10:23 23-06-2010
    wolf0425



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

    Цитата:
    Так что с точки зрения sc - все нормально, просто ей вернул такой ответ менеджер служб.
    менеджер наверно же вернул код ошибки - ожидаемо было что sc его дальше транслирует.
     
    а вообще такое сообщение - результат того, что скомандовали остановить уже остановленный сервис. Если такую ошибку действительно надо отлавливать - фильтруй вывод через find
     

    Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 11:04 23-06-2010
       

    Страницы: 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 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

    Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах 8
    vu1tur (04-09-2010 17:46): http://forum.ru-board.com/topic.cgi?forum=62&topic=21297


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru