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

Показать сообщение отдельно

Новый участник


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

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


Какой вопрос задал - такой ответ и получил.
Прошу помочь попунктно:
1) Имеем цикл
Код: Выделить весь код
for /f "skip=1 tokens=*" %%p in ('wmic PRINTER where "PortName like 'USB%'" Get DeviceID') DO echo.%%p>>%CurrentPath%\PrintList.txt
Получаем файл PrintList.txt с содержимым:
Скрытый текст

Printer VendorName1
Printer VendorName2
Printer VendorName3
\\192.168.1.10\SharedPrinter1

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

Если в текстовом файле имеется только одна строка, содержащая "Printer VendorName1", то выполнить команду 1

Если в текстовом файле имеется только одна строка, содержащая Printer VendorName2, то выполнить ряд команд 2 3 4

Как это вижу я:
Код: Выделить весь код
for /f "delims=" %%b in ('%CurrentPath%\PrintList.txt') DO Set PrintNames=%%b
if /i "%PrintNames%"=="Printer VendorName1" (@if /i "%b" EQU 1 (
	rundll32 printui.dll,PrintUIEntry /ia /f "driver.inf" /m "DriverModelName"
	rundll32 printui.dll,PrintUIEntry /Xs /n "Printer VendorName1" DriverName "DriverModelName"
	rem Переименовываю принтер
	rundll32 printui.dll,PrintUIEntry /Xs /n "%PrintNames%" PrinterName "CurentPrinter"
	@echo Успех
	)	
if /i "%b"=="Printer VendorName2" (@if /i "%b" EQU 1 (		
	rundll32 printui.dll,PrintUIEntry /Xs /n "Printer VendorName2" DriverName "DriverModelName"
	@echo Успех
	) Else (....

Отправлено: 22:45, 28-08-2020 | #2