Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Разница при способах запуска .Bat

Ответить
Настройки темы
CMD/BAT - [решено] Разница при способах запуска .Bat

Пользователь


Сообщения: 82
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: White-Lion
Дата: 29-03-2011
Всем доброго времени суток.
Имею файл pr.bat:
читать дальше »


Код: Выделить весь код
@echo off
echo 1 - Установка Xerox 4118
set /p answer=Выберите принтер для установки:
if /i %answer%==1 ( 
  echo .
  echo ^> Установка Xerox 4118. ^<  
  echo 1 - Xerox 4118 IP 10.83.803.3.
  echo 2 - Xerox 4118 USB
  set /p answer1=Выберите Вариант принтера:
if /i %answer1%==1 (
  echo .
  echo ^>^> Установка Xerox 4118 IP ^<^<
cscript %SystemRoot%\system32\prnport.vbs -a -r IP_Xerox_4118_Lan -h 10.83.203.2 -o raw -n 9100
rundll32 printui.dll,PrintUIEntry /if /b "Office_3_Xerox4118_Lan" /f \\rysdc1\install$\Draivers\Printers\Xerox_4118\OriginalDiskDriver\Driver\Print\ADDPRINT\WINXP2K\wc4118.inf /r "IP_Xerox_4118_Lan" /m "Xerox WC 4118 Series PCL 6" /u
set prdef=Office_3_Xerox4118_Lan
)
if /i %answer1%==2 (
  echo .
  echo ^>^> Установка Xerox 4118 USB ^<^<
rundll32 printui.dll,PrintUIEntry /if /b "Office_3_Xerox4118_USB2" /f \\rysdc1\install$\Draivers\Printers\Xerox_4118\OriginalDiskDriver\Driver\Print\ADDPRINT\WINXP2K\wc4118.inf /r "USB002" /m "Xerox WC 4118 Series PCL 6" /u
set prdef=Office_3_Xerox4118_USB2
)
echo dryjet
set /p otv=Установить принтер по умолчанию? Yes, No:
if /i %otv%==y rundll32 printui.dll,PrintUIEntry /y /n %prdef%
)
pause

Файл отработан, но есть загвоздка.
ести запускаю из командной строки cmd, все работает.
Но когда просто запускаю сам файл pr.bat,
появляется
читать дальше »
Код: Выделить весь код
1 - Установка Xerox 4118
Выберите принтер для установки:

И после выбора окно пропадает без дальнейших действий.
Что я сделал не так?

Отправлено: 18:03, 28-03-2011

 

Аватара для ShaddyR

Железных Дел Мастер


Moderator


Сообщения: 24786
Благодарности: 4545

Профиль | Сайт | Отправить PM | Цитировать


White-Lion, 7-ка? Разница в запуске - от имени админа или без.

-------
[FAQ] Как определить аппаратную конфигурацию компьютера и правильно задать вопрос
-------
В благодарность за помощь нажимаем ссылочку "Полезное сообщение" внизу этого самого сообщения (подробнее). Помните: админ конфеты НЕ ПЬЁТ ;)
-------
Говори, что думаешь и думай, что говоришь! (c) || МОЙ ShaddyR.at.UA/blog - Новая метла и инвентаризация)


Отправлено: 19:41, 28-03-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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



Moderator


Сообщения: 53589
Благодарности: 15546

Профиль | Отправить PM | Цитировать


Цитата White-Lion:
Имею файл pr.bat
Попробуйте переименовать с расширением .cmd

Отправлено: 21:17, 28-03-2011 | #3


Пользователь


Сообщения: 82
Благодарности: 1

Профиль | Отправить PM | Цитировать


ShaddyR,
Я администратор. пока все тестирую на своем компе. WinXPsp3.
Petya V4sechkin,
Уже пробовал. Тоже самое.

Может изменить в самом коде что-нибудь?

Отправлено: 12:15, 29-03-2011 | #4



Moderator


Сообщения: 53589
Благодарности: 15546

Профиль | Отправить PM | Цитировать


White-Lion, поменяйте во всех операторах if условия, например:
Код: Выделить весь код
if /i "%answer%"=="1"

Отправлено: 14:14, 29-03-2011 | #5


Пользователь


Сообщения: 82
Благодарности: 1

Профиль | Отправить PM | Цитировать


Petya V4sechkin,
Исправил на:
читать дальше »
Код: Выделить весь код
@echo off
echo 1 - Установка Xerox 4118
set /p answer=Выберите принтер для установки:
if /i "%answer%"=="1" ( 
  echo .
  echo ^> Установка Xerox 4118. ^<  
  echo 1 - Xerox 4118 IP 10.83.803.3.
  echo 2 - Xerox 4118 USB
  set /p answer1=Выберите Вариант принтера:
if /i "%answer1%"=="1" (
  echo .
  echo ^>^> Установка Xerox 4118 IP ^<^<
cscript %SystemRoot%\system32\prnport.vbs -a -r IP_Xerox_4118_Lan -h 10.83.203.2 -o raw -n 9100
rundll32 printui.dll,PrintUIEntry /if /b "Office_3_Xerox4118_Lan" /f \\rysdc1\install$\Draivers\Printers\Xerox_4118\OriginalDiskDriver\Driver\Print\ADDPRINT\WINXP2K\wc4118.inf /r "IP_Xerox_4118_Lan" /m "Xerox WC 4118 Series PCL 6" /u
set prdef=Office_3_Xerox4118_Lan
)
if /i "%answer1%"=="2" (
  echo .
  echo ^>^> Установка Xerox 4118 USB ^<^<
rundll32 printui.dll,PrintUIEntry /if /b "Office_3_Xerox4118_USB2" /f \\rysdc1\install$\Draivers\Printers\Xerox_4118\OriginalDiskDriver\Driver\Print\ADDPRINT\WINXP2K\wc4118.inf /r "USB002" /m "Xerox WC 4118 Series PCL 6" /u
set prdef=Office_3_Xerox4118_USB2
)
echo dryjet
set /p otv=Установить принтер по умолчанию? Yes, No:
if /i %otv%==y rundll32 printui.dll,PrintUIEntry /y /n %prdef%
)
pause


Начал ругаться на
непредвиденное начало Rundd32.

не помню гдето читал что нужно сделать вот так (добавил ^):
читать дальше »
Код: Выделить весь код
if /i ^%otv%^=^=y ^rundll32 printui.dll,PrintUIEntry /y /n %prdef%


Но теперь при выборе "Выберите Вариант принтера:"
проскакивает все условия и попадает в самый последний if (принтер по умочсанию).


походу бат начинает дико нестабильно работать при большом колличестве if (особенно при их вложении).

Отправлено: 14:59, 29-03-2011 | #6



Moderator


Сообщения: 53589
Благодарности: 15546

Профиль | Отправить PM | Цитировать


Цитата White-Lion:
if /i %otv%==y rundll32 printui.dll,PrintUIEntry /y /n %prdef%
А это почему не исправили?

Код: Выделить весь код
if /i "%otv%"=="y" rundll32 printui.dll,PrintUIEntry /y /n %prdef%

Отправлено: 15:01, 29-03-2011 | #7


Пользователь


Сообщения: 82
Благодарности: 1

Профиль | Отправить PM | Цитировать


Petya V4sechkin,
исправлял начинал ругаться на
непредвиденное начало Rundd32.

Хм.
Странно сейчас уже не ругается
но все также пропускает.

Убрал промежуточные pause перестал пропускать if при запуске bat из командной строки.
Но при обычном запуске все также пропускает.

Последний раз редактировалось White-Lion, 29-03-2011 в 15:36. Причина: Корректировка


Отправлено: 15:24, 29-03-2011 | #8



Moderator


Сообщения: 53589
Благодарности: 15546

Профиль | Отправить PM | Цитировать


White-Lion, в общем, так:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

echo 1 - Установка Xerox 4118
set /p answer=Выберите принтер для установки:
if /i "!answer!"=="1" (
  echo .
  echo ^> Установка Xerox 4118. ^<
  echo 1 - Xerox 4118 IP 10.83.803.3.
  echo 2 - Xerox 4118 USB
  set /p answer1=Выберите Вариант принтера:
if /i "!answer1!"=="1" (
  echo .
  echo ^>^> Установка Xerox 4118 IP ^<^<
cscript %SystemRoot%\system32\prnport.vbs -a -r IP_Xerox_4118_Lan -h 10.83.203.2 -o raw -n 9100
rundll32 printui.dll,PrintUIEntry /if /b "Office_3_Xerox4118_Lan" /f \\rysdc1\install$\Draivers\Printers\Xerox_4118\OriginalDiskDriver\Driver\Print\ADDPRINT\WINXP2K\wc4118.inf /r "IP_Xerox_4118_Lan" /m "Xerox WC 4118 Series PCL 6" /u
set prdef=Office_3_Xerox4118_Lan
)
if /i "!answer1!"=="2" (
  echo .
  echo ^>^> Установка Xerox 4118 USB ^<^<
rundll32 printui.dll,PrintUIEntry /if /b "Office_3_Xerox4118_USB2" /f \\rysdc1\install$\Draivers\Printers\Xerox_4118\OriginalDiskDriver\Driver\Print\ADDPRINT\WINXP2K\wc4118.inf /r "USB002" /m "Xerox WC 4118 Series PCL 6" /u
set prdef=Office_3_Xerox4118_USB2
)
echo dryjet
set /p otv=Установить принтер по умолчанию? Yes, No:
if /i "!otv!"=="y" rundll32 printui.dll,PrintUIEntry /y /n !prdef!
)
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:39, 29-03-2011 | #9


Пользователь


Сообщения: 82
Благодарности: 1

Профиль | Отправить PM | Цитировать


Petya V4sechkin,
пришел к этому же выводу......
но не успел написать. Огромное спасибо.

Заработало при обоих способах запуска.

Отправлено: 15:50, 29-03-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Разница при способах запуска .Bat

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] разница между bat и cmd alexandri Скриптовые языки администрирования Windows 2 11-01-2010 22:29
[Вопрос] Видео при 1м запуске - Как поставить при каждом запуске? LEXYS Автоматическая установка Windows 2000/XP/2003 5 17-12-2009 20:08
[решено] Разница в производительности при HT3.0(5200MHz) и HT1.0(2000 MT/s) Nels Процесcоры 1 30-06-2009 07:31
Помогите вылечить (паталогич.) тормоза при входе в домен (разница в поведении компов) xlam-u Сетевые технологии 1 03-05-2006 08:00
Мусор при запуске Guest Microsoft Windows 95/98/Me (архив) 3 22-08-2002 20:56




 
Переход