中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 07:00
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 请教我的批处理那个地方有问题
可打印版本  802 / 12
第1楼 wang6542975 发表于 2008-07-23 11:03
初级用户 发帖 62 积分 123
请教我的批处理那个地方有问题
set /p filename=客户资料
set alldrive=f
for %%i in (%alldrive%) do if exist %%i:\ dir /b %%i:| find "%filename%"
move %filename% e:\win
pause


本意是查找所有盘符下的客户资料然后MOVE到e:\win文件夹下,但发现有问题所以改为只查找f:
但改为f:后还是不行
第2楼 523066680 发表于 2008-07-23 11:15
银牌会员 发帖 1,133 积分 2,362
我也纳闷 有时后find “字眼” 明明存在字眼 但是就是不会显示出来
刚刚试了一下 find "字眼" 字眼是要区分大小写的
我搜 If_Exist 文件夹 成功
if_exist 不成功
第3楼 wang6542975 发表于 2008-07-23 11:26
初级用户 发帖 62 积分 123
我纳闷死了。。。我已经测试了大小写还不行。。
比如搜索的是“客户资料” 汉字还区分大小写吗??
第4楼 radem 发表于 2008-07-23 11:32
高级用户 发帖 383 积分 691
set /p filename=客户资料
中“客户资料”是显示内容而不是filename的值
第5楼 HAT 发表于 2008-07-23 11:37
版主 发帖 5,017 积分 9,023
把set命令里面的/p开关去掉
第6楼 523066680 发表于 2008-07-23 11:41
银牌会员 发帖 1,133 积分 2,362
感觉这个批处理问题很大……好像……
我差点没郁闷而死…… 这个我自己测试成功的代码

@echo off
set /p filename=":"
if exist f:\%filename% move f:\%filename% e:\

(if exist f:\%filename% 这句的判断就已经包括对f盘是否存在的判断,直接,简便)
第7楼 wang6542975 发表于 2008-07-23 11:46
初级用户 发帖 62 积分 123
/p开关去掉后可以查找到客户资料文件夹,但还是不能move,提示拒绝访问。文件夹位置和文件没有问题。。
还望指教
第8楼 wang6542975 发表于 2008-07-23 11:51
初级用户 发帖 62 积分 123
。。提示系统找不到指定的文件,抱歉,看错了。
本认为是目录的问题,然后把批处理放着客户资料文件夹下运行也不行。。
第9楼 wang6542975 发表于 2008-07-23 12:02
初级用户 发帖 62 积分 123
好像是MOVE命令的问题。
第10楼 523066680 发表于 2008-07-23 14:27
银牌会员 发帖 1,133 积分 2,362
郁闷 极度郁闷 !!!
(希望你把相关的图像截下来 发到贴上让大家伙看一下)
第11楼 moniuming 发表于 2008-07-23 17:11
银牌会员 发帖 574 积分 1,335 来自 广西
第12楼 wang6542975 发表于 2008-07-23 17:25
初级用户 发帖 62 积分 123
谢谢!!
这么清晰的思路值得我好好学习!!
对了假如是以“客户资料”为名的文件夹怎么办?
MOVE“客户资料”文件夹到E:\WIN
我试了试比较难。。
第13楼 moniuming 发表于 2008-07-23 17:55
银牌会员 发帖 574 积分 1,335 来自 广西
试试这个?
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023