Как создать или вывести текстовый файл в командной строке Windows


Как получить список файлов в папке Windows

Когда ко мне обратились с вопросом о том, как быстро вывести список файлов в текстовый файл, я понял, что ответа я не знаю. Хотя задача, как оказалось, достаточно часто встречающаяся. Это может потребоваться для передачи списка файлов специалисту (для решения какой-то проблемы), самостоятельного ведения журнала содержимого папок и других целей.

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

Получение текстового файла с содержимым папки в командной строке

Получение списка файлов в командной строке

Сначала о том, как сделать текстовый документ, содержащий список файлов в нужной папке, вручную.

  1. Запустите командную строку от имени администратора.
  2. Введите cdx:\folder\ где x:\folder\ — полный путь к папке, список файлов из которой нужно получить. Нажмите Enter.
  3. Введите команду dir /a /-p /o:gen >files.txt (где files.txt — текстовый файл, в котором будет сохранен список файлов). Нажмите Enter.
  4. Если использовать команду с параметром /b (dir /a /b /-p /o:gen >files.txt), то в полученном списке будет отсутствовать любая дополнительная информация о размерах файлов или дате создания — только список имен.

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

Полученный текстовый файл со списком

Кроме этого, для пользователей русскоязычной версии Windows следует учитывать то, что файл сохраняется в кодировке Windows 866, то есть в обычном блокноте вместо русских символов вы увидите иероглифы (но можно использовать альтернативный текстовый редактор для просмотра, например, Sublime Text).

Получаем список файлов с помощью Windows PowerShell

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

Список файлов, полученный в PowerShell

  • Get-Childitem -Path C:\Folder — вывод списка всех файлов и папок, находящихся в папке Folder на диске C в окне Powershell.
  • Get-Childitem -Path C:\Folder | Out-File C:\Files.txt — создание текстового файла Files.txt со списком файлов в папке Folder.
  • Добавление параметра -Recurse к первой описанной команде выводит в списке также содержимое всех вложенных папок.
  • Параметры -File и -Directory позволяют получить список только файлов или только папок соответственно.

Выше перечислены далеко не все параметры Get-Childitem, но в рамках описываемой в этом руководстве задачи, думаю, их будет достаточно.

Утилита Microsoft Fix it для печати содержимого папки

На странице https://support.microsoft.com/ru-ru/kb/321379 присутствует утилита Microsoft Fix It, добавляющая в контекстное меню проводника пункт «Print Directory Listing», выводящий список файлов в папке на печать.

Вывод списка файлов на печать через контекстное меню

Несмотря на то, что программа предназначена только для Windows XP, Vista и Windows 7, она успешно сработала и в Windows 10, достаточно было запустить ее в режиме совместимости.

Дополнительно, на той же странице показан порядок ручного добавления команды вывода списка файлов в проводник, при этом вариант для Windows 7 подойдет и для Windows 8.1 и 10. А если вам не требуется вывод на печать, вы можете немного подправить предлагаемые Microsoft команды, удалив параметр /p в третьей строке и полностью убрав четвертую.

А вдруг и это будет интересно:

  • Лучшие бесплатные программы для Windows
  • Syncthing — синхронизация файлов Windows, Linux, MacOS и Android
  • Память встроенной видеокарты Intel HD или Iris Xe, AMD Radeon — как посмотреть, увеличить или уменьшить
  • Файл открыт в System при удалении файла — как исправить?
  • Как открыть порты в Windows и посмотреть список открытых портов
  • Как добавить путь в переменную среды PATH в Windows
  • Windows 11
  • Windows 10
  • Android
  • Загрузочная флешка
  • Лечение вирусов
  • Восстановление данных
  • Установка с флешки
  • Настройка роутера
  • Всё про Windows
  • В контакте
  • Одноклассники

    No48 26.09.2015 в 12:27

  • Dmitry 26.09.2015 в 15:16

Как создать или вывести текстовый файл в командной строке Windows

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

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

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

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

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

Команда ECHO

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

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

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

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

COPY CON

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

copy con имя_файла.txt

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

  • Курсор переместится на строчку ниже, и вы сможете набирать текст так, как делаете это обычно, включая перенос строки. Создание текстового файла с помощью copy con
  • Для завершения набора и сохранения текстового файла нажмите сочетание клавиш 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]

    Как создать bat файл в Windows

    Нередко советы по тем или иным действиям и исправлениям в Windows 10, 8 и Windows 7 включают в себя шаги наподобие: «создайте файл .bat со следующим содержимым и запустите его». Однако, начинающий пользователь не всегда знает, как это сделать и что собой представляет такой файл.

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

    Создание .bat файла с помощью блокнота

    Первый и самый простой способ создать bat файл — использовать стандартную программу «Блокнот», присутствующую во всех актуальных версиях Windows.

    Шаги по созданию будут следующими

    1. Запустите Блокнот (находится в Программы — Стандартные, в Windows 10 быстрее запустить через поиск в панели задач, если блокнота нет в меню «Пуск», запустить его можно из C:\Windows\notepad.exe).
    2. Введите в блокнот код вашего bat файла (например, скопируйте откуда-то, либо напишите свой, о некоторых командах — далее в инструкции).
    3. В меню блокнота выберите «Файл» — «Сохранить как», выберите место сохранение файла, укажите имя файла с расширением .bat и, обязательно, в поле «Тип файла» установите «Все файлы». Сохранение bat файла в блокноте
    4. Нажмите кнопку «Сохранить».

    Примечание: если файл не сохраняется в указанное расположение, например, на диск C, с сообщение «У вас нет разрешения на сохранение файлов в этом месте», сохраните его в папку «Документы» или на рабочий стол, а затем скопируйте в нужное расположение (причина проблемы в том, что в Windows 10 для записи в некоторые папки нужны права администратора, а поскольку блокнот не был запущен от имени администратора, он не может сохранить файл в указанную папку).

    Ваш файл .bat готов: если его запустить, будут автоматически выполнены все перечисленные в файле команды (при условии отсутствия ошибок и необходимости прав администратора: в некоторых случаях может потребоваться запускать файл bat от имени администратора: правый клик по файлу .bat — запустить от имени администратора в контекстном меню).

    Запуск bat файла от имени администратора

    Примечание: в дальнейшем, если вы захотите отредактировать созданный файл, просто нажмите по нему правой кнопкой мыши и выберите «Изменить».

    Существуют и другие способы сделать bat файл, но все они сводятся к написанию команд по одной команде в строке в текстовый файл в любом текстовом редакторе (без форматирования), который затем сохраняется с расширением .bat (например, в Windows XP и 32-битной Windows 7 вы даже можете создать файл .bat в командной строке с помощью текстового редактора edit).

    Если у вас включено отображение расширений файлов (изменяется в панель управления — параметры проводника — вид — скрывать расширения зарегистрированных типов файлов), то вы можете просто создать файл .txt, затем переименовать файл, установив расширение .bat.

    Запуск программ в файле bat и другие базовые команды

    В командном файле вы можете запускать любые программы и команды из этого списка: https://technet.microsoft.com/ru-ru/library/cc772390(v=ws.10).aspx (правда, некоторые из указанных могут отсутствовать в Windows 8 и Windows 10). Далее — лишь некоторые базовые сведения для начинающих пользователей.

    Для запуска программы или программ используйте команду:

    start "" путь_к_программе

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

    start "" "C:\Program Files\program.exe"

    После пути к программе можно также указать параметры, с которыми она должна запускаться, например (аналогично, если параметры запуска содержат пробелы, возьмите их в кавычки):

    start "" c:\windows\notepad.exe file.txt

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

    Еще одна полезная возможность — запуск другого bat файла из текущего файла, сделать это можно с помощью команды call:

    call путь_к_файлу_bat параметры

    Переданные параметры при запуске можно прочитать внутри другого bat файла, например, мы вызываем файл с параметрами:

    call file2.bat параметр1 параметр2 параметр3

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

    echo %1 echo %2 echo %3 pause

    Т.е. для каждого параметра мы используем его порядковый номер со знаком процента. Результатом в приведенном примере будет вывод в окно команд всех переданных параметров (команда echo используется для вывода текста в окно консоли).

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

    Иногда, перед выполнением очередной команды нужно подождать некоторое время (например, до полного запуска первой программы). Для этого можно использовать команду:

    timeout /t время_в_секундах

    При желании, вы можете запустить программу в свернутом виде или развернутом видео с помощью параметров MIN и MAX перед указанием самой программы, например:

    start "" /MIN c:\windows\notepad.exe

    Для закрытия окна команд после выполнения всех команд (хотя, обычно оно и так закрывается при использовании start для запуска), используйте команду exit в последней строке. В случае, если консоль все равно не закрывается после запуска программы, попробуйте использовать такую команду:

    cmd /c start /b "" путь_к_программе параметры

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

    cmd /c start "" /d "путь_к_папке_с_пробелами" /b имя_файла_программы "параметры_с_пробелами"

    Как уже было отмечено, это лишь очень базовые сведение о наиболее часто используемых командах в bat файлах. При необходимости выполнить дополнительные задачи, попробуйте найти нужную информацию в интернете (поищите, например, «сделать что-то в командной строке» и используйте эти же команды в файле .bat) или задайте вопрос в комментариях, я постараюсь помочь.

    А вдруг и это будет интересно:

    • Лучшие бесплатные программы для Windows
    • Syncthing — синхронизация файлов Windows, Linux, MacOS и Android
    • Память встроенной видеокарты Intel HD или Iris Xe, AMD Radeon — как посмотреть, увеличить или уменьшить
    • Файл открыт в System при удалении файла — как исправить?
    • Как открыть порты в Windows и посмотреть список открытых портов
    • Как добавить путь в переменную среды PATH в Windows
    • Windows 11
    • Windows 10
    • Android
    • Загрузочная флешка
    • Лечение вирусов
    • Восстановление данных
    • Установка с флешки
    • Настройка роутера
    • Всё про Windows
    • В контакте
    • Одноклассники

      Леонид 18.10.2017 в 09:02

    Win+R
    cmd

    copy con ttt.bat echo off echo "Можно и так :-)"
    • Dmitry 18.10.2017 в 09:12
    • Dmitry 19.10.2017 в 09:16

    В интернете нашел ярлык для очистки кеша браузера, пишут что нужно написать RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255 когда создаёшь ярлык и так же нашел текст файла .cmd для очистки другого кеша:

    PUSHD %TEMP% 2>Nul RD /S/Q "%TEMP%" POPD PUSHD %WinDir%\TEMP 2>Nul RD /S/Q "%WinDir%\TEMP" POPD PUSHD C:\Users\%username%\AppData\Local\Microsoft\Windows\Temporary Internet Files 2>Nul RD /S/Q "C:\Users\%username%\AppData\Local\Microsoft\Windows\Temporary Internet Files" POPD
    • Dmitry 15.02.2019 в 11:56

    Доброго времени суток. Приобрел ССД диск. Естественно желание продлить его срок службы. Хочу кэш и тмпешки скинуть на виртуальный диск, благо 8 гигов памяти. Очевидно, что надо в автозагрузку кинуть создание виртуального диска. Нашел программу которая имеет командную строку с параметрами. Но уже два дня бьюсь и ничего не получается. Перепробовал уже все места и куда только не писал кавычки. По инструкции все должно бы выглядеть таким образом:

    cmd /c start "" /d "C:\Program Files\OSFMount" /b osfmount.com "-a -t vm -m Z: -o format -s 1G"
    • Dmitry 24.02.2019 в 13:57

    Здравствуйте. Когда с кавычками непонятно (а такое бывает в bat-никах), от них можно избавиться. Для вашего случая bat-файл может выглядеть вот так (отсутствие пробела в Program Files — не опечатка):

    @echo off cd %ProgramFiles% start \OSFMount\osfmount.com -a -t vm -m Z: -o format -s 1G
    • Dmitry 08.05.2019 в 09:03

    Здравствуйте.
    По идее, можно было бы сделать так: в bat, который с пингом, прописываем строку
    title pingbat (задаем имя окна, любое, я для примера — pingbat написал).
    А во втором файле:

    taskkill /FI "WINDOWTITLE eq pingbat"

    Здесь ищем процесс по заголовку окна, закрываем.
    Только почему-то для bat-файлов это не работает.
    Возможное решение: запуск bat-файл как службы (сервиса), поищите, есть на эту тему инструкции.
    А вот службу уже можно закрыть попроще bat-файлом (каждая строка — отдельный способ, первая убивает процесс, вторая — останавливает службу):

    taskkill /F /FI "SERVICES eq имя_службы" SC STOP "имя_службы"
    • denis 08.05.2019 в 15:43
    • Dmitry 08.05.2019 в 17:46
    • Dmitry 20.05.2019 в 10:00

    Оставьте комментарий