it-swarm.com.ru

Самый короткий код командного файла Windows, чтобы получить первую строку файла, установленного в переменную?

Я ищу минимально возможный объем кода, который получит первую строку текстового файла и установит ее в качестве переменной в Windows.

Есть много примеров такого рода вещей в других темах на этом сайте StackExchange, но я не ищу, как проходить и отображать все строки в файле. То, что я хочу, это просто просто получить первую строку.

17
djangofan
set /p var= <Text.txt
echo %var%

Ссылка на: http://forums.techguy.org/software-development/551867-batch-file-read-line-text.html По иронии судьбы, постер может получить первую строку, но хотел цикл по всему файлу!

32
Joe

это просто немного более короткая версия:

set/pz=<file
echo %z%
11
nephi12

Я не мог заставить это работать под Windows 7; переменная была просто не установлена. Но вот немного более длинное решение:

for /F "delims=" %%i in (Text.txt) do (  
  set Z=%%i
  goto BREAK1
)
:BREAK1
echo %Z%
2
user3110750

Если отложенное расширение было включено раньше (Setlocal EnableDelayedExpansion), то существует более короткая (однострочная) версия

set /pz=<filename.txt&echo !z!
1
phuclv

Мне пришлось изменить строку файла для текстового файла в каталоге Program Files(x86). Перепробовав множество решений, у меня сработало следующее решение:

Шаги:

Шаг 1) используйте команду type, переданную с findstr, чтобы получить файл с желаемые данные

Шаг 2) удалить оригинальный файл

Шаг 3) используйте команду type, чтобы переместить содержимое обратно в файл с помощью оригинальное имя файла

Шаг 4) Удалить новый файл

Пример:

@echo off
set originalFile="C:\Program Files (x86)\<Target File Path>\<Target File Name>"
set newFile="C:\Program Files (x86)\<Target File Path>\<Target newFile Name>"
if exist %originalFile% (
    type %originalFile% | findstr /v T4VSHost >> %newFile%
    del %originalFile% /F /Q
    type %newFile% >> %originalFile%
    del %newFile% /F /Q
)
@echo on

Заметка:

Когда я попытался записать изменение обратно в исходный файл на шаге 1, результатом стал пустой файл.

Обратите внимание, что строка, которую я сопоставляю, T4VSHost, которая встречается в файле по пути

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Инструменты Entity Framework\Templates\Includes\EF6.Utility.CS.ttinclude

0