0

我有一个目录,其中包含数千个子文件夹。我想在每个包含文件夹名称的文件夹中创建一个文本文件。

这是到目前为止的代码:

@ECHO OFF
for /F "delims=" %%a in ('dir /ad /b /s') do (
   @echo %%~nxa > %%a\test.nfo
)

唯一的问题是它无法读取中文/特殊字符。我怎样才能解决这个问题?这是在窗户上

4

1 回答 1

0

我对此功能没有任何个人经验,但我相信我记得读过简单的 FOR 以及 FOR /R 保留 unicode 字符。

@echo off
for /d /r %%F in (*) do echo %%~nxF >"%%F\test.nfo"

您可能还必须使用 CMD /U 启用 unicode 输出:

@echo off
for /d /r %%F in (*) do (cmd /u /c echo %%~nxF)>"%%F\test.nfo"

但不幸的是 CMD.EXE 没有将 unicode 标头字节放在文件的顶部。

于 2012-10-16T13:14:16.533 回答