中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 16:55
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]关于变量的难题,详情请入内查看。谢谢!
可打印版本  5,841 / 21
第16楼 ^_^ 发表于 2004-11-14 00:00
初级用户 发帖 10 积分 85
to willsort
我没看明白,但是否有笔误,生成了Directory.bat,却没有call它,而直接del了????
第17楼 qzwqzw 发表于 2004-11-15 00:00
银牌会员 发帖 636 积分 2,343
Directory.bat是在~setdir.bat中调用的啊,这就是技巧之精华呀!
第18楼 Climbing 发表于 2004-11-16 00:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
高手就是高手。配服ing...如果在中文版的NT环境下,可以使用chcp 437命令将命令的提示语言改为英文,另外,如果路径中带有太多空格,也是不太好解决的(不能超过8个),如果超过这个数量,就要另想办法了,可能需要用到shift命令。WillSort的批处理修改如下:
@echo off
chcp 437
dir %A% | find " Directory of ">~setdir.bat
echo set abase=%%2%%3%%4%%5%%6%%7%%8%%9 >Directory.bat
call ~setdir.bat
del ~setdir.bat
del Directory.bat
第19楼 insert 发表于 2004-11-17 00:00
中级用户 发帖 52 积分 282
谢谢各位大侠,问题已经用STRINGS得到解决。虽然我还是不明白willsort的批处理,但还谢谢!!
第20楼 willsort 发表于 2004-11-18 00:00
元老会员 发帖 1,512 积分 4,432
问题可能并非如此简单
Re Climbing:
可能问题并非我当初预想的那样简单。
关于中文命令行,chcp是可以改变英文代码页,但是改变了代码页,会导致无法识别中文路径,那么chcp 437变成了拆东补西。
关于文件名空格,直接导致命令行参数不适宜分析文件和路径,因为空格有单个空格,多个独立空格,多个连续空格等三种,而set abase=%%2%%3%%4%%5%%6%%7%%8%%9却将其中的空格全部滤掉了,而如果在它们之间加上空格,则可能会导致abase后跟随多余的空格,这对路径来说,也是致命的。
也许根本的解决之道,是在使用中限制多国代码和空格的使用,但是势必因此降低程序的普适范围。唯一值得安慰的是,深层批处理本就不是应用广泛的程序代码。
第21楼 Climbing 发表于 2004-11-19 00:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
还是WillSort考虑的比较周详,如果路径名中带空格,我的批处理会将所有的空格去掉,这根本是没有意义的。看来还是用第三方的工具比较好一些,DOS命令的字符串处理功能实在是太弱了。
第22楼 i386 发表于 2006-01-11 11:56
初级用户 发帖 16 积分 176
路过,学习一下.
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023