CMD Help устанавливает переменную во вторую строку txt

Позвольте мне предисловие, я занимаюсь упаковкой программного обеспечения всего пару лет, и это был мой опыт работы с cmd.

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

введите здесь описание изображения

введите здесь описание изображения

для /f "delims=" %a в (file.txt) установить var=%a

Была ли моя ссылка> Пакетная команда для извлечения переменных из текстового файла< /а>

Какую маленькую глупость я упускаю? Я надеялся, что для %var% будет установлено значение «cmd», если не «cmd».


person mfrancke    schedule 20.11.2015    source источник
comment
и он установлен на cmd, и вы пытаетесь ввести файл cmd, который не существует в текущей папке, и вы получаете ошибку «файл не найден». Вы имеете в виду echo %var%?   -  person TessellatingHeckler    schedule 20.11.2015
comment
i.stack.imgur.com/Yfku2.png по-прежнему ничего   -  person mfrancke    schedule 20.11.2015
comment
Ух, это работает здесь для меня. Я не вижу и не думаю, в чем разница. У вас есть другой компьютер, на котором вы можете попробовать то же самое?   -  person TessellatingHeckler    schedule 20.11.2015
comment
Это странно, я пробовал это на двух машинах с Win 7. Ссылка для скачивания моего файла... drive.google.com/file/ д/0B787Q4uvgMBvMXNFTlFxNTV4TFU/   -  person mfrancke    schedule 20.11.2015
comment
Вот как это выглядит в рабочем состоянии — i.imgur.com/Pp51LG2.png — хотя я на Win 8.1, это достаточно старая технология, и я не думаю, что это вероятная разница. Тот факт, что я вижу запущенные строки set, а вы нет, предполагает, что ваш c:\file.txt на самом деле пуст, а не то, что показывает блокнот. Можете ли вы запустить c:\> type c:\file.txt и посмотреть содержимое в командной строке?   -  person TessellatingHeckler    schedule 20.11.2015
comment
Тип c:\file.txt действительно отражал содержимое файла, может быть, это связано с разрешениями? Я собираюсь запустить это дома и посмотреть, не вызывает ли это проблем на моем домашнем компьютере.   -  person mfrancke    schedule 20.11.2015
comment
Это странно. Я присоединяюсь к вашему вопросу Какую маленькую глупость я упустил?. Сомневаюсь, что это разрешения - запись в корень c:\ по умолчанию запрещена UAC, но вы уже писали в него - и чтение из него разрешено, особенно если type может его прочитать. Что еще это может быть? Может быть, у вас есть другая команда for, переопределяющая оболочку? Что вы получите, если запустите c:\> for /?, он покажет все страницы документации и справки? У вас есть... неамериканская региональная установка Windows? Любое антивирусное ПО? Строгие правила блокировки бизнеса?   -  person TessellatingHeckler    schedule 20.11.2015


Ответы (1)


Пытаться

for /f "skip=1delims=" %a in (c:\file.txt) do @if not defined var set "var=%a"

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

Поскольку вы не получаете отчет о том, что установлено для var (в виде серии строк), может показаться, что ваш файл пуст.

(Пожалуйста, отредактируйте свой вопрос, чтобы предоставить дополнительные данные. Используйте значок изображения, чтобы вставить графику)

person Magoo    schedule 21.11.2015
comment
Но он не пустой — размер файла равен 1 КБ, а в цепочке комментариев говорится, что они могут type c:\file.txt видеть содержимое. - person TessellatingHeckler; 21.11.2015
comment
@TessellationHeckler: дополнительные данные следует вставлять в вопрос, а не в комментарии. Было бы проще просто вставить соответствующую часть файла в тело вопроса. Заявление о том, что это может быть typed, бесполезно — мы все равно его не видим. Внешние ссылки не рекомендуются, так как они не контролируются StackExchange и могут быть удалены в любое время. Цель состоит в том, чтобы создать базу данных решений, а недостающие звенья мешают этой цели. Пожалуйста, объясните свой отрицательный голос. - person Magoo; 21.11.2015
comment
Я согласен, что дополнительные данные должны быть отредактированы в вопросе, но это не мой вопрос, я только прокомментировал вопрос, запрашивая дополнительную информацию и запрашивая вывод некоторых команд, предлагая что-то для получения дополнительной информации - вы говорите не тому человеку; и я не минусовал тебя. - person TessellatingHeckler; 21.11.2015