楼 主
请教我的批处理那个地方有问题
发表于 2008-07-23 11:03 · 中国 河南 郑州 电信
初级用户
★★
积分 123 发帖 62 注册 2008-04-09 16:11 18年会员 UID 115362 性别 男
状态 离线
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 楼
发表于 2008-07-23 11:15 · 中国 广东 广州 电信
银牌会员
★★★★
SuperCleaner
积分 2,362 发帖 1,133 注册 2008-02-02 21:36 18年会员 UID 110072 性别 男
状态 离线
我也纳闷 有时后find “字眼” 明明存在字眼 但是就是不会显示出来
刚刚试了一下 find "字眼" 字眼是要区分大小写的
我搜 If_Exist 文件夹 成功
if_exist 不成功
第 3 楼
发表于 2008-07-23 11:26 · 中国 河南 郑州 电信
初级用户
★★
积分 123 发帖 62 注册 2008-04-09 16:11 18年会员 UID 115362 性别 男
状态 离线
我纳闷死了。。。我已经测试了大小写还不行。。
比如搜索的是“客户资料” 汉字还区分大小写吗??
第 4 楼
发表于 2008-07-23 11:32 · 中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691 发帖 383 注册 2008-05-23 00:38 18年会员 UID 119451 性别 男
状态 离线
set /p filename=客户资料
中“客户资料”是显示内容而不是filename的值
第 5 楼
发表于 2008-07-23 11:37 · 美国 惠普HP
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
第 6 楼
发表于 2008-07-23 11:41 · 中国 广东 广州 电信
银牌会员
★★★★
SuperCleaner
积分 2,362 发帖 1,133 注册 2008-02-02 21:36 18年会员 UID 110072 性别 男
状态 离线
感觉这个批处理问题很大……好像……
我差点没郁闷而死…… 这个我自己测试成功的代码
@echo off
set /p filename=":"
if exist f:\%filename% move f:\%filename% e:\
(if exist f:\%filename% 这句的判断就已经包括对f盘是否存在的判断,直接,简便)
第 7 楼
发表于 2008-07-23 11:46 · 中国 河南 郑州 电信
初级用户
★★
积分 123 发帖 62 注册 2008-04-09 16:11 18年会员 UID 115362 性别 男
状态 离线
/p开关去掉后可以查找到客户资料文件夹,但还是不能move,提示拒绝访问。文件夹位置和文件没有问题。。
还望指教
第 8 楼
发表于 2008-07-23 11:51 · 中国 河南 郑州 电信
初级用户
★★
积分 123 发帖 62 注册 2008-04-09 16:11 18年会员 UID 115362 性别 男
状态 离线
。。提示系统找不到指定的文件,抱歉,看错了。
本认为是目录的问题,然后把批处理放着客户资料文件夹下运行也不行。。
第 9 楼
发表于 2008-07-23 12:02 · 中国 河南 郑州 电信
初级用户
★★
积分 123 发帖 62 注册 2008-04-09 16:11 18年会员 UID 115362 性别 男
状态 离线
第 10 楼
发表于 2008-07-23 14:27 · 中国 广东 广州 电信
银牌会员
★★★★
SuperCleaner
积分 2,362 发帖 1,133 注册 2008-02-02 21:36 18年会员 UID 110072 性别 男
状态 离线
郁闷 极度郁闷 !!!
(希望你把相关的图像截下来 发到贴上让大家伙看一下)
第 11 楼
发表于 2008-07-23 17:11 · 中国 广东 广州 电信
银牌会员
★★★
永远的菜鸟
积分 1,335 发帖 574 注册 2007-11-27 12:50 18年会员 UID 103929 性别 男 来自 广西
状态 离线
@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
第 12 楼
谢谢!!
发表于 2008-07-23 17:25 · 中国 河南 郑州 电信
初级用户
★★
积分 123 发帖 62 注册 2008-04-09 16:11 18年会员 UID 115362 性别 男
状态 离线
这么清晰的思路值得我好好学习!!
对了假如是以“客户资料”为名的文件夹怎么办?
MOVE“客户资料”文件夹到E:\WIN
我试了试比较难。。
第 13 楼
发表于 2008-07-23 17:55 · 中国 广东 广州 电信
银牌会员
★★★
永远的菜鸟
积分 1,335 发帖 574 注册 2007-11-27 12:50 18年会员 UID 103929 性别 男 来自 广西
状态 离线
试试这个?
@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
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正