中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 11:08
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]文本中去除乱码
可打印版本  794 / 3
第1楼 knoppix7 发表于 2007-05-02 16:36
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
[求助]文本中去除乱码
我的批处理在重命名文件时总是遇到象

" /\/\YsTiC DeFeNSe XP7.2"
"50000 D  Back&Forth100%"
"666 Defense 66"
"Protect YourSelf (PYS)"

这样的乱码。尤其是/\:*?"<>|之类的。
这样在给文件命名时就要出错。
能不能去掉字符串里面的非法字符?

目前我用的是别人写的叫strrpc的程序。
但每次执行到这里就出错
echo %name%|name2.exe ^\ >>mapname.txt
希望有别的方法来除.
第2楼 slore 发表于 2007-05-02 17:56
铂金会员 发帖 2,478 积分 5,212
环境变量替换已如下增强:

%PATH:str1=str2%

会扩展 PATH 环境变量,用 "str2" 代替扩展结果中的每个 "str1"。
要有效地从扩展结果中删除所有的 "str1","str2" 可以是空的。
"str1" 可以以星号打头;在这种情况下,"str1" 会从扩展结果的
开始到 str1 剩余部分第一次出现的地方,都一直保持相配。
第3楼 flyinspace 发表于 2007-05-02 18:29
银牌会员 发帖 517 积分 1,206
你不关是什么文件啊??

ren "文件名" "被修改文件名"

这样也不行么??

好象用了引号就不用担心特殊符号的。
第4楼 slore 发表于 2007-05-02 21:09
铂金会员 发帖 2,478 积分 5,212
*?"<>|文件名不能用这些……

他估计是读取文本中的内容去ren……
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023