Обработка уникодного выхлопа. Как?
Код:
@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 рус
|
Цитата:
Цитата kiripanda
Как на cmd обработать то, что он сам же выдаёт? »
|
TYPE определяет кодировку по BOM, который должен уже содержаться в файле "unicode.txt"... Либо его туда нужно предварительно записать:
Код:
@echo off
<nul >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
|
Время: 05:37.
© OSzone.net 2001-