首页 > 解决方案 > Forfiles 对待瑞典语的奇怪行为

问题描述

Forfiles与瑞典字符不工作顺利...

我用的是瑞典电脑,Forfiles对待瑞典字符很奇怪。它可以在一个瞬间正确对待,而在下一个瞬间变得愚蠢。我已经为这个问题苦苦挣扎了很长时间,我想我已经找到了解决方案,我的经验(没有)告诉我,是 forfiles 中的不同操作使它变得困难。

我必须CHCP 65001在我的批处理文件中使用它才能使其工作。除. forfiles_ CALL然后它就会陷入困境。

然后我的解决方案是将那部分更改为 CHCP 1252。没有完美地工作,但是当我把它全部导入一个“一些 textfile.txt”文件时,突然间一切都正常了。现在我可以在文件夹名称中使用瑞典语字符。

似乎该CALL参数需要一个特殊的代码页才能工作,但在其余代码上使用它会失败......

不过有一个问题:为什么它表现得这么奇怪,为什么我需要>myfile.txt在最后加上一个才能让它工作?

` CHCP 65001

forfiles /S /m * /c "cmd /c if @isdir==TRUE COPY myfile.bat @path"`

(即使文件夹有瑞典语字符 ( åäö),这也有效,但使用代码页 1252 会失败。Myfile.bat 放置在每个文件夹中,并在下面调用时构建文件夹内容的 html 页面)。

` CHCP 1252

forfiles /S /m "myfile.bat" /c "cmd /c CALL @path" >> some textfile.txt`

(使用代码页 65001 将失败,但与代码页 1252 完美配合。它需要 `> 一些文本文件,没有它,它将失败。在每个文件夹中构建页面。)

DEL some textfile.txt

(该文件被删除,因为它只是垃圾(奇怪我需要这个文件))

CHCP 65001

(改回代码页 65001 以使其他一切正常工作。下面的代码为找到的每个文件夹构建了一个链接页,并且在每个正在创建的页面上都是相同的。)

forfiles /S /m * /c "cmd /c if @isdir==TRUE ECHO @path" >>anotherfile.txt

(感谢您的所有回答。当我知道更多一点时,我现在将重建它。小步骤,小步骤......)

标签: batch-filecodepagesforfiles

解决方案


推荐阅读