【发布时间】:2013-06-04 16:36:31
【问题描述】:
这个BAT文件怎么行:
FOR %%F in (Q:\Playlists*.m3u) do sed -e"s~^\~R:&~" > "R:%%~pnxF"
被重新编码以避免在包含非 ascii 字符的文件名上观察到的失败,例如一个?
也许使用短名称。
【问题讨论】:
-
"可能会移动到超级用户站点" 为什么会这样?这是关于编程的。
标签: windows-7 cmd windows-xp
这个BAT文件怎么行:
FOR %%F in (Q:\Playlists*.m3u) do sed -e"s~^\~R:&~" > "R:%%~pnxF"
被重新编码以避免在包含非 ascii 字符的文件名上观察到的失败,例如一个?
也许使用短名称。
【问题讨论】:
标签: windows-7 cmd windows-xp
FOR %%F in (Q:\Playlists*.m3u) do (
sed -e"s~^\~R:&~" > "R:\junkname"
ren "R:\junkname" "%%~nxF"
)
可能适合。我无法测试它,因为我没有容易获得的非 ASCII 文件名字符。
(注意~p应该被解析为\)
【讨论】:
找到解决方案 - ~s :
FOR %%F in (Q:\Playlists*.m3u) 执行 sed -e"s~^\~R:&~" -e"s~....$~.wma~" "%% ~sF" > "R:%%~pnxF"
我明白了
DIR /X ... "如果不存在短名称,则显示空白 取而代之。”
我希望 ~s 不会受到影响。
这表明:
有人知道吗?
【讨论】:
℅℅~sF函数有bug,看here。