中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教我的批处理那个地方有问题
作者:
标题: 请教我的批处理那个地方有问题 上一主题 | 下一主题
wang6542975
初级用户





积分 123
发帖 62
注册 2008-4-9
状态 离线
『楼 主』:  请教我的批处理那个地方有问题

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:后还是不行

2008-7-23 11:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 2 楼』:  

我也纳闷 有时后find “字眼”  明明存在字眼 但是就是不会显示出来
刚刚试了一下  find "字眼"   字眼是要区分大小写的
我搜 If_Exist 文件夹  成功
if_exist 不成功



综合型编程论坛

我的作品索引
  
2008-7-23 11:15
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
wang6542975
初级用户





积分 123
发帖 62
注册 2008-4-9
状态 离线
『第 3 楼』:  

我纳闷死了。。。我已经测试了大小写还不行。。
比如搜索的是“客户资料”  汉字还区分大小写吗??

2008-7-23 11:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 4 楼』:  

set /p filename=客户资料
中“客户资料”是显示内容而不是filename的值



2008-7-23 11:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  

把set命令里面的/p开关去掉



2008-7-23 11:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 6 楼』:  

感觉这个批处理问题很大……好像……
我差点没郁闷而死…… 这个我自己测试成功的代码

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

(if exist f:\%filename%  这句的判断就已经包括对f盘是否存在的判断,直接,简便)

   此帖被 +2 点积分    点击查看详情   
评分人:【 wang6542975 分数: +2  时间:2008-7-23 17:23




综合型编程论坛

我的作品索引
  
2008-7-23 11:41
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
wang6542975
初级用户





积分 123
发帖 62
注册 2008-4-9
状态 离线
『第 7 楼』:  

/p开关去掉后可以查找到客户资料文件夹,但还是不能move,提示拒绝访问。文件夹位置和文件没有问题。。
还望指教

2008-7-23 11:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wang6542975
初级用户





积分 123
发帖 62
注册 2008-4-9
状态 离线
『第 8 楼』:  

。。提示系统找不到指定的文件,抱歉,看错了。
本认为是目录的问题,然后把批处理放着客户资料文件夹下运行也不行。。

2008-7-23 11:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wang6542975
初级用户





积分 123
发帖 62
注册 2008-4-9
状态 离线
『第 9 楼』:  

好像是MOVE命令的问题。

2008-7-23 12:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 10 楼』:  

郁闷 极度郁闷 !!!
(希望你把相关的图像截下来   发到贴上让大家伙看一下)



综合型编程论坛

我的作品索引
  
2008-7-23 14:27
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 11 楼』:  


@echo off
for %%a in (c d e f g h i j k l m n) do (
   if exist %%a: (
      for /f "delims=" %%b in ('dir /s/b %%a:^|find /i "客户资料"') do (
         echo move /y "%%b" e:\win\
      )
   )
)
Pause


   此帖被 +2 点积分    点击查看详情   
评分人:【 wang6542975 分数: +2  时间:2008-7-23 17:22


2008-7-23 17:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wang6542975
初级用户





积分 123
发帖 62
注册 2008-4-9
状态 离线
『第 12 楼』:  谢谢!!

这么清晰的思路值得我好好学习!!
对了假如是以“客户资料”为名的文件夹怎么办?
MOVE“客户资料”文件夹到E:\WIN
我试了试比较难。。

2008-7-23 17:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 13 楼』:  

试试这个?
@echo off
for %%a in (c d e f g h i j k l m n) do (
   if exist %%a: (
      for /f "delims=" %%b in ('dir /s/b/ad "%%a:\*"^|findstr /i /e "\\客户资料"') do (
         echo move /y "%%b" e:\win\
      )
   )
)
Pause


2008-7-23 17:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: