CMD/BAT - Обработка уникодного выхлопа. Как?

Ответить
Аватара пользователя
kiripanda

CMD/BAT - Обработка уникодного выхлопа. Как?

Сообщение kiripanda »

Код:

Код: Выделить всё

@echo off
cmd.exe /u /c dir /b /s /on /a-d > unicode.txt
for /f "delims=" %%f in ('type unicode.txt') do (
echo disk: "%%~df"
echo path: "%%~pf"
echo name: "%%~nf"
echo exte: "%%~xf"
)

В качестве имени файла выдаётся буква диска для 1-го файла и всё.

Как на cmd обработать то, что он сам же выдаёт? ось XP sp3 рус
Аватара пользователя
amel27

Re: CMD/BAT - Обработка уникодного выхлопа. Как?

Сообщение amel27 »

Цитата kiripanda:



Как на cmd обработать то, что он сам же выдаёт?
CMD/BAT - Обработка уникодного выхлопа. Как?




TYPE определяет кодировку по
BOM
, который должен уже содержаться в файле "unicode.txt"... Либо его туда нужно предварительно записать:



Код:

Код: Выделить всё

@echo off
unicode.txt set /P $$=яю
cmd /u/c dir /b/s/on/a-d >>unicode.txt
for /f "delims=" %%f in ('type unicode.txt') do (
echo disk: "%%~df"
echo path: "%%~pf"
echo name: "%%~nf"
echo exte: "%%~xf"
)

Важно! Поскольку в DOS кодировке BOM представляет спецсимволы, текст команды пришлось запостить в WIN-кодировке, иначе движок форума исказит символы ("яю").



Обсуждалось тут:
CMD/BAT - [решено] Изменение кодировки txt файла из ANSI в UTF-16 LE
Ответить

Вернуться в «Скриптовые языки администрирования Windows»