如何避免非ascii字符的BAT FOR失败?

时间:2013-06-08 13:15:23

标签: windows-7 cmd windows-xp

这个BAT文件行怎么样:

FOR %% F in(Q:\ Playlists * .m3u)do sed -e“s~ ^ \〜R:&〜”> “R:%%〜pnxF”

重新编码以避免在包含非ascii字符的文件名上观察到失败,例如á?

也许使用短名称。

2 个答案:

答案 0 :(得分:1)

FOR %%F in (Q:\Playlists*.m3u) do (
 sed -e"s~^\~R:&~" > "R:\junkname"
 ren "R:\junkname" "%%~nxF"
)

可能适合。我无法测试它,因为我没有很容易获得的非ASCII文件名字符。

(注意~p应解析为\

答案 1 :(得分:0)

找到解决方案 - ~s:

FOR %% F in(Q:\ Playlists * .m3u)do sed -e“s~ ^ \〜R:&〜” - e“s〜.... $〜.wma~”“% %~sF“> “R:%%〜pnxF”

我看到了

  

DIR / X ......“如果没有短名称,则显示空白   取而代之。“

我希望这是安全的。

这表明:

enter image description here

任何人都知道吗?