Я не могу понять, почему это не работает. Я пытаюсь собрать список всех принтеров на машине, а затем создать сценарий для каждого принтера и добавить имя хоста в этот файл. Я планирую запустить этот запуск на каждом компьютере, чтобы мы знали, какие компьютеры должны быть в каждой группе печати для нового сервера печати Windows, который мы настраиваем.Переменная в Используется для пути в пакетном файле
Кодекс:
setlocal EnableDelayedExpansion
net use z: PATH TO SHARE HERE (this part works)
for /f "tokens=* USEBACKQ" %%1 in (`wmic printer get name`) do (
set str=''
echo %str%
set str=%%1
set str=!str:\==!
set str=!str: =!
echo !str!
echo "!str!.txt" >> test6.txt
hostname
hostname >> "!str!.txt"
)
Две линии
set str=!str:\==!
set str=!str: =!
должны вычистить пространства, и заменить \ в начале имени принтера, так что это будет допустимый путь к файлу. Кажется, они работают так, как ожидалось.
Выход из первого запуска цикла (остальные последуют этому примеру с другими именами принтеров и имеют такое же поведение)
ECHO включен.
WebExDocumentLoader
WW7L7NPWWZ1
Неверное имя файла, имя каталога или тома.
Эхо-сигнал для эха пустой! Str! Переменная
Следующая строка имя принтера в переменной
Вывод в файл test6.txt для этой переменной линии: «WebExDocumentLoader.txt»
имя хоста линейные выходы, как и ожидалось.
Последняя строка сводит меня с ума, потому что я не могу понять, почему «WebExDocumentLoader.txt» дает неверный синтаксис, когда он должен быть именем файла.
Я полностью в недоумении, почему это не будет работать :(