Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Обработка уникодного выхлопа. Как? (http://forum.oszone.net/showthread.php?t=197790)

kiripanda 27-01-2011 13:35 1598353

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

@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 27-01-2011 15:07 1598426

Цитата:

Цитата 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.

Время: 05:37.
© OSzone.net 2001-