Как прочитать файл в командной строке windows

Если вы оказались без доступа к чему-либо кроме командной строки или Windows PowerShell и по какой-то причине вам требуется возможность создания или чтения текстовых файлов, это вполне реализуемо, причем более чем одним методом.

В этой инструкции подробно о работе с текстовыми файлами в командной строки или PowerShell (разумеется, можно и в Терминале Windows) — создание и сохранение текстовых файлов, их вывод и чтение в консоли. Если вам требуется вывести результаты выполнения команды в файл, вы можете использовать отдельную инструкцию на эту тему.

Создание текстовых файлов в командной строке

Возможность создания текстовых файлов доступна как в командной строке (cmd.exe), так и в PowerShell. Начнем с первого варианта.

Во всех случаях учитывайте, что при использовании кириллицы потенциально возможны проблемы с кодировкой, а в некоторых случаях кодировка может отличаться при использовании разных команд.

Команда ECHO

Команда командной строки echo предназначена для вывода текстовых сообщений в окне консоли, например, при выполнении сценария в bat-файле, но может быть использована и для вывода текста в файл, благодаря возможности использования оператора «>» для перенаправления вывода из консоли в файл.

Пример команды:

echo Содержимое текстового файла > file.txt

В результате её выполнения в текущей рабочей папке командной строки будет создан файл с именем file.txt и содержимым «Содержимое текстового файла».

Создание текстового файла с помощью команды echo

COPY CON

Команда copy с параметром con позволяет скопировать содержимое консоли в файл. Использование возможности будет состоять из следующих шагов:

  1. Введите команду
    copy con имя_файла.txt

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

  2. Курсор переместится на строчку ниже, и вы сможете набирать текст так, как делаете это обычно, включая перенос строки.
    Создание текстового файла с помощью copy con

  3. Для завершения набора и сохранения текстового файла нажмите сочетание клавиш Ctrl+Z, а затем — Enter. Это добавит отметку конца файла и сохранит его в текущей папке с указанным на 1-м шаге именем.
    Сохранение текстового файла с помощью copy con

Создание текстового файла в PowerShell

PowerShell также имеет набор встроенных командлетов для сохранения текстовых данных в файл.

Out-File

Использование Out-File в PowerShell по своей функциональности сходно с оператором перенаправления вывода в командной строке. Вывод консоли перенаправляется в заданный файл.

Пример использования:

"Текстовая строка" | Out-File -FilePath .\file.txt

В этом примере в текущей папке PowerShell будет создан файл с именем file.txt и содержимым «Текстовая строка».

New-Item

Создание нового текстового файла в PowerShell возможно с помощью командлета New-Item. Пример команды, в которой создается текстовый файл file.txt, содержащий «Текстовая строка» в текущем расположении:

New-Item -Path . -Name "file.txt" -ItemType "file" -Value "Текстовая строка"
Создание текстового файла с помощью New-Item в PowerShell

Set-Content и Add-Content

Ещё два командлета PowerShell для работы с текстовыми файлами:

  • Set-Content — перезаписывает содержимое файла
  • Add-Content — добавляет содержимое в конце выбранного файла

Их использование можно увидеть на примере следующей команды:

Add-Content -Path .\file.txt -Value "Ещё одна текстовая строка"
Добавление текста к файлу в PowerShell

Вывод (чтение) текстового файла в командной строке и PowerShell

Теперь перейдем к способам просмотреть текстовые файлы в командной строке или PowerShell. Как и в предыдущем случае, учитывайте, что для файлов, содержащих кириллицу, возможны проблемы с отображением символов в правильной кодировке.

TYPE

Самый простой вариант — использование команды TYPE с указанием пути к файлу, который нужно отобразить в консоли, например:

type file.txt
Вывод текстового файла с помощью команды type

MORE

Если файл объемный и содержит большое количество строк, используйте команду more, например:

more file.txt

Выполнив команду, вы увидите часть содержимого текста, которая помещается в окне консоли, далее вы можете использовать следующие клавиши:

Вывод текстового файла с помощью команды more

  • Enter — для отображения следующей строки файла.
  • Пробел — для отображения следующих строк документа, которые поместятся в активное окно консоли.
  • P — Показать следующие N строк. После нажатия этой клавиши с последующим указанием количества строк, будет выведено соответствующее количество строк текстового документа.
  • S — пропустить следующие N строк, работает аналогично предыдущему варианту.
  • Клавиша «=» — для отображения текущего номера строки.
  • Q — для прекращения выполнения команды more.

Get-Content

Вывести содержимое текстового файла в PowerShell можно с помощью Get-Content с указанием пути к файлу, например:

Get-Content file.txt
Чтение текстового файла с помощью Get-Content в PowerShell

Также вы можете выводить определенные строки файла, с помощью команд вида (вывод первых или последних 10 строк соответственно):

Get-Content file.txt | Select-Object -First 10
Get-Content file.txt | Select-Object -Last 10

Или присвоить содержимое файла переменной и вывести конкретную строку:

$file_text = Get-Content file.txt
$file_text[2]
Текстовый редактор edit.com в Windows

Помимо использования ручного ввода команд, вы можете использовать консольные текстовые редакторы — сторонние в версиях для Windows, такие как Vim, Nano, Kinesics Text Editor или даже старый встроенный edit.com (может отсутствовать в вашей версии системы и требовать патча NTVDMx64).

on January 1, 2009

We can read a text file from command line using type command. This command is similar to cat command on Linux.

Example: Let us print the contents of the file c:\boot.ini

C:\>type c:\boot.ini
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Home Edition"

If the file is very huge, we can use more command to read the data one page at a time. This more command is pretty much similar to the Linux more command.

Syntax of the command is:

more filename

This command prints one page text on the console and waits for the user to press Enter before it shows the next page.

The above explained commands work in Windows 7, Windows 10 and all Server editions

If you want to view a Text file in Command Prompt window or PowerShell window in your Windows 11/10 system, then this tutorial will help you. You can view the entire text file or partial content using different commands. Though the first option that comes to mind for opening a TXT file in Windows 11/10 OS is perhaps Notepad, there are of course many other suitable options. For example, you can use free text editor tools (like Notepad++), a web browser, etc., to open and read a text file. Command Prompt and Windows PowerShell are also simple and built-in options covered in this post for this purpose.

view text file in command prompt and PowerShell Windows

We have already seen how to open a file or folder using Command Prompt or PowerShell. Now let’s check how we can read the content of a text file using these two utilities separately. We will start with Command Prompt first.

view text file in cmd

To view a text file in Command Prompt in Windows 11/10, first type cmd in the Search box and hit the Enter key. Now in the Command Prompt window, use the Type command, provide the path of your TXT file along with the file name and file extension, and execute the command. Or else, you can open Command Prompt in a folder where your text is stored and then run the command. It would be like this:

Type TheWindowsClub.txt

Replace TheWindowsClub.txt with the actual text file stored on your computer. This will load all the content of that text file and show it in the CMD window.

If the text file is too large, then you can use the More command to view the text file with one screen at a time. The command would be:

More abc.txt

Again, replace abc.txt with the actual file. Once the command is executed, you will see a part of your text file (say 26%, 52%, etc.). After this, you can continue using the More command with other subcommands or keys such as:

  • Enter: Use this subcommand to display the next lines (one at a time) of your text file. You need to keep pressing the Enter key one by one
  • Spacebar: It displays the next screen or content of your text file that can fit the visible part of the CMD window
  • P <n>: To show the next N lines. You first need to press the P key and then provide a number say 9 and use the Enter key to display the next 9 lines of your file
  • S <n>: to skip the next N lines
  • Equal (=) to display the line number
  • Q to quit the More command, etc.

Related: Complete list of Command Prompt commands

View a Text file in PowerShell in Windows 11/10

Like Command Prompt, you can also view a text file using PowerShell in Windows 11/10 with a simple command. First, type powershell in the Search box and press the Enter key. Now use the Get-Content command and provide your text file along with its full path, file name, and file extension. The command would be:

Get-Content abc.txt

read text file using powershell

Replace abc with the actual file name and this will display the entire content of the text file in the PowerShell window.

Now you can also use a variable instead of the entire command, again and again, that can help you read the partial content of a text file, read the first 15 lines, etc. For this, move all the content to a variable using the following command:

$file_data = Get-Content TextFile.txt

use variable for text file in powershell

Replace TextFile with the actual file name.

Now you can use this $file_data variable for further actions. For example, if you want to view a specific line, say 10, of your text file, then execute the following command:

$file_data[9]

Similarly, to read the first N number of lines (say first 15 lines) of the TXT file, use the variable with a pipe. The command is:

$file_data | Select-Object -First 15

In a similar way, for reading the last N lines (say 20) of your text file, use this command:

$file_data | Select-Object -Last 20

Once you close Windows PowerShell and launch it again, you can move the content again in the variable and then use it.

That’s it.

How do I open a text file as an administrator in Windows 11?

To open a text file as administrator on your Windows 11/10 computer, you actually need to run the associated program with administrative privileges. For that, right-click on the program shortcut or executable file, select the Run as administrator option, and then open a text file in that program. Or else, you can make a program always run as administrator in Windows 11/10 to skip the hassle. Access the Properties window of your program, switch to the Compatibility tab, and select Run this program as an administrator option.

How do I preview files in Windows 11?

You can show or turn on the Preview pane of File Explorer in Windows 11/10 and then select a text file or an image file to preview it. The Preview pane can also be expanded easily. On the other hand, if you want to preview a video file (say MP4), or a document like DOCX, PDF, etc., then you can use some free tools like QuickLook, Seer, One Commander, etc., that let you preview files without opening them.

Read next: How to search for files using Command Prompt in Windows.

If you want to read a file using the Windows CMD command and print it on the console, you can make use of the type command,

Type: Displays the contents of a text file or files.

Syntax: TYPE [drive:][path] filename

Example:

C:\>type d:\countries.txt
China
USA
France
Poland
Sweden
Japan
Australia
C:\>

If the file is too huge then type command will keep on buffering the text on the console, in such a case you can make use of more command,

C:\>more d:\countries.txt
China
USA
France
Poland
Sweden
Japan
Australia
India
Nepal
Bhutan
Sri Lanka
Germany
Canada
-- More (78%) --

More command Windows CMD

C:\>help more
Displays output one screen at a time.

MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]

    [drive:][path]filename  Specifies a file to display one
                            the screen at a time.

    command-name            Specifies a command whose output
                            will be displayed.

    /E      Enable extended features
    /C      Clear screen before displaying page
    /P      Expand FormFeed characters
    /S      Squeeze multiple blank lines into a single line
    /Tn     Expand tabs to n spaces (default 8)

            Switches can be present in the MORE environment
            variable.

    +n      Start displaying the first file at line n

    files   List of files to be displayed. Files in the list
            are separated by blanks.

    If extended features are enabled, the following commands
    are accepted at the -- More -- prompt:

    P n     Display next n lines
    S n     Skip next n lines
    F       Display next file
    Q       Quit
    =       Show line number
    ?       Show help line
    <space> Display next page
    <ret>   Display next line

Чтение файлов

Основы командной строки

  • Команда cat
  • Команды head и tail
  • Пейджеры

Ранее в курсе мы обсудили общее устройство файловой системы в POSIX-совместимых операционных системах.

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

Команда cat

Самый простой способ прочитать файл — команда cat:

man cat

NAME
     cat -- concatenate and print files

SYNOPSIS
     cat [-benstuv] [file ...]

...

Команда cat ожидает аргументы — пути до файлов, которые надо читать. В простейшем случае достаточно передать один путь. Это удобно, когда надо посмотреть содержимое небольшого файла:

cat .profile

# ~/.profile: executed by the command interpreter for login shells.

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

Команды head и tail

Иногда нужно посмотреть только начало файла или его конец, в такой ситуации помогают команды head и tail. Они тоже принимают на вход путь до файла, только head показывает первые 10 строк, а tail — последние 10 строк файла.

Это поведение можно менять, задавая желаемое количество строк через опцию -n:

Посмотрим, как работает head:

head -n 2 .profile

# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login

Похожим образом работает tail:

tail -n 2 .profile

    PATH="$HOME/.local/bin:$PATH"
fi

Некоторые файлы наполняются очень интенсивно. Например, быстро наполняются логи — это текстовые файлы, в которые заносится информация о происходящих процессах в определенной системе.

В Linux логи лежат в каталоге /var/log. Туда пишет и сам Linux, и большая часть установленных программ. Основной файл логов Linux называется syslog.

Туда попадает ключевая информация о происходящих процессах в операционной системе и возникающих ошибках.

В WSL syslog не включен по умолчанию. Чтобы включить его, сперва установите его как:

sudo add-apt-repository ppa:adiscon/v8-stable
sudo apt-get install rsyslog

А затем запустите, используя команду sudo service rsyslog start.

Представим, что нам нужно изучить события, которые происходят часто. Знакомые команды в этой ситуации не помогут:

  • Пользоваться командой cat неудобно, потому что syslog слишком большой
  • Команда tail тоже не подойдет, потому что при высокой скорости записи логов мы рискуем пропустить часть события

В этой ситуации поможет tail, запущенный в особом режиме — с флагом -f.

Команда tail -f path/to/file не просто выводит последние строчки файла, но и ждет появления новых. Как только файл дописывается, tail сразу выводит на экран добавленные строки.

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

# Если у вас не хватает прав, чтобы смотреть файл syslog, наберите sudo перед командой tail, как показано ниже
# Есть вероятность, что sudo попросит вас ввести пароль
# Сделайте это и нажмите Enter
# При наборе пароля курсор не будет двигаться
# Это сделано для безопасности
sudo tail -f syslog

Aug 28 18:00:01 ip-10-0-1-223 systemd-udevd[15400]: Could not generate persistent MAC address for veth5c6ed9c: No such file or directory
Aug 28 18:00:01 ip-10-0-1-223 kernel: [126412.013499] device veth6969122 entered promiscuous mode
Aug 28 18:00:01 ip-10-0-1-223 systemd[1]: Starting Update resolvconf for networkd DNS...
Aug 28 18:00:01 ip-10-0-1-223 systemd-timesyncd[522]: Network configuration changed, trying to establish connection.
Aug 28 18:00:01 ip-10-0-1-223 systemd-timesyncd[522]: Synchronized to time server 91.173.73.198:123 (ntp.ubuntu.com).
Aug 28 18:00:01 ip-10-0-1-223 sh[15415]: sed: cant read /run/systemd/netif/leases/*: No such file or directory
Aug 28 18:00:01 ip-10-0-1-223 kernel: [126412.086162] IPv6: ADDRCONF(NETDEV_UP): veth6969122: link is not ready
Aug 28 18:00:01 ip-10-0-1-223 systemd-udevd[15403]: Could not generate persistent MAC address for veth6969122: No such file or directory
Aug 28 18:00:02 ip-10-0-1-223 systemd-timesyncd[522]: Network configuration changed, trying to establish connection.
Aug 28 18:00:02 ip-10-0-1-223 systemd-timesyncd[522]: Synchronized to time server 91.173.73.198:123 (ntp.ubuntu.com).
Aug 28 18:00:02 ip-10-0-1-223 systemd-timesyncd[522]: Network configuration changed, trying to establish connection.

Для остановки выполнения этой команды нажмите Ctrl + C.

Пейджеры

Особая категория программ для просмотра содержимого файла — пейджеры. Пейджер похож на текстовый редактор, открытый только в режиме чтения. Самый распространенный пейджер называется less. Попробуем открыть с помощью него файл syslog:

# Снова придется воспользоваться sudo
sudo less syslog
# Здесь много вывода

Пейджер less открывает файл и остается в этом режиме. Он позволяет производить поиск и перемещаться по файлу вперед и назад.

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

В целом, пейджер less предоставляет несколько десятков команд для перемещения по тексту и его поиску, про большинство из них можно прочитать в соответствующем мануале. Здесь затронем основные:

  • Выход — q
  • Вперед на страницу — f
  • Назад на страницу — b
  • Поиск введенного текста — вводим /, печатаем текст и нажимаем Enter
  • Переход к следующему совпадению — n
  • Переход к предыдущему совпадению — N

Поведение пейджеров похоже на то, что мы наблюдали в мануалах. Дело в том, что когда мы запускали man, то перед нами открывался less с загруженным туда контентом. Как вы увидите позже, пейджеры невероятно популярны и неявно запускаются другими программами.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно


  • 130 курсов, 2000+ часов теории

  • 1000 практических заданий в браузере

  • 360 000 студентов

Наши выпускники работают в компаниях:

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows 10 включить wifi через час
  • Как создать чередующийся том в windows 10
  • Ошибка activex com localserver32 speechruntime exe как исправить в windows 10
  • Код остановки critical service failed windows 10 как исправить
  • Driver pack for windows 7 без интернета