получить список файлов в табличном формате в CMD - PullRequest
0 голосов
/ 08 марта 2012

Не могли бы вы помочь мне получить список файлов в табличном формате (я предпочитаю пакетный файл). Для команды list я бы использовал dir / b / o: n для сортировки файлов по имени ... но это приводит к абзацам. Мне нужно скопировать список файлов в таблицу xls ... и файлы будут в столбцах. Поэтому я спрашиваю:

Если у вас есть файлы типа 1,2,3,4,5 ... и т.д., я хочу, чтобы они записывались в одну строку, где табулятор используется в качестве разделителя между файлами.

1 Ответ

2 голосов
/ 08 марта 2012

«Где табулятор (?) Используется в качестве разделителя» ??? Если вы хотите открыть файл в Excel, тогда самый простой вариант - использовать запятые в качестве разделителя (формат .CSV).Поскольку в имени файла может появляться запятая, вы хотите заключить имена в кавычки.

Если вы сортируете по имени, то наиболее эффективным вариантом является простой FOR, поскольку он всегда сортирует по имени.Вы можете использовать <nul SET /P для вывода каждого имени файла в файл .CSV без ввода новой строки.

@echo off
<nul (
  for %%F in (*) do set /p =""%%F","
) >fileList.csv

Если вы действительно хотите использовать команду DIR, то вам нужен FOR / F.Единственная причина, по которой я вижу это, - это если вы хотите изменить порядок сортировки.Я установил EOL=: для защиты от маловероятной возможности того, что имя файла начинается с точки с запятой.Допустимое имя файла (или путь к файлу) никогда не может начинаться с двоеточия.

@echo off
<nul (
  for /f "eol=: delims=" %%F in ('dir /b /o:n') do set /p =""%%F","
) >fileList.csv
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...