Вопрос по stdin – Как перенаправить стандартный ввод в файл в командной строке Windows?
На Unix я бы сделал что-то вроде:
cat > file.txt
Как я могу сделать это в командной строке Windows или командном файле?
EDIT: В основном, я ищу функциональностьcat
без аргументов (он читает из stdin и выплевывает обратно в stdout).
type
такое классное и простое решение.
type thisfile > output.txt
выдвигает все выходные так же, как unix cattype thisfile >> output.txt
добавляет весь вывод в файл без перезаписи
TYPE CON
CON - это устройство MS-DOS для консольного ввода. Вы можете перенаправить в файл следующим образом:
TYPE CON>output.txt
Чтобы прекратить, нажмите Ctrl + C или Ctrl + Z, Войт ( Ctrl + Z = EOF).
TYPE CON>LPT1
ярлык, чтобы превратить MS-DOS в пишущую машинку!
FOR
построить в DOS. Слава Богу за Powershell и C # скрипт!
что вы читаете, в stdout, тогда FINDSTR может работать, в зависимости от того, как вы его используете.
FINDSTR будет выводить точное двоичное изображение входных данных, если входные данные указаны как одно имя файла в конце списка аргументов.
findstr "^" file.txt
Трубы или перенаправление также могут работать, в зависимости от содержимого ввода:
findstr "^" < file.txt
or
type file.txt | findstr "^"
Вывод будет поврежден, если произойдет любое из следующего при использовании перенаправленного или конвейерного ввода с FINDSTR:
Любая строка ввода> 8191 байт Последняя строка ввода не заканчивается \ n. (команда может зависнуть при перенаправлении ввода)FINDSTR не будет работать, если указано несколько входных файлов, поскольку в этом случае имя файла будет использоваться в качестве префикса для каждой строки вывода.
FINDSTR также отличается от cat тем, что не может читать как из стандартного ввода, так и из именованного файла.
Видеть Каковы недокументированные функции и ограничения команды Windows FINDSTR? для получения дополнительной информации
findstr "^" < %windir%\system32\calc.exe > c.exe
даетLine is too long
ошибка на Win7. Не подходит для бинарного копирования?
<
), а не использовать перенаправление, и оно должно работать. Видеть Пределы длины раздел на Stackoverflow.com / а / 8844873/1012053 для получения дополнительной информации
more.exe
может быть то, что вы ищете.
Он может принимать данные как из консоли:
more > file1.txt
Или из другого файла, которыйTYPE CON
Не справиться
type file1.txt | more > file2.txt
(more
, кажется, добавляет новую строку к вашему файлу и расширяет вкладки, поэтому не используйте его для двоичных данных!)