标题: 请教我的批处理那个地方有问题
[打印本页]
作者: wang6542975
时间: 2008-7-23 11:03
标题: 请教我的批处理那个地方有问题
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:后还是不行
作者: 523066680
时间: 2008-7-23 11:15
我也纳闷 有时后find “字眼” 明明存在字眼 但是就是不会显示出来
刚刚试了一下 find "字眼" 字眼是要区分大小写的
我搜 If_Exist 文件夹 成功
if_exist 不成功
作者: wang6542975
时间: 2008-7-23 11:26
我纳闷死了。。。我已经测试了大小写还不行。。
比如搜索的是“客户资料” 汉字还区分大小写吗??
作者: radem
时间: 2008-7-23 11:32
set /p filename=客户资料
中“客户资料”是显示内容而不是filename的值
作者: HAT
时间: 2008-7-23 11:37
把set命令里面的/p开关去掉
作者: 523066680
时间: 2008-7-23 11:41
感觉这个批处理问题很大……好像……
我差点没郁闷而死…… 这个我自己测试成功的代码
@echo off
set /p filename=":"
if exist f:\%filename% move f:\%filename% e:\
(if exist f:\%filename% 这句的判断就已经包括对f盘是否存在的判断,直接,简便)
作者: wang6542975
时间: 2008-7-23 11:46
/p开关去掉后可以查找到客户资料文件夹,但还是不能move,提示拒绝访问。文件夹位置和文件没有问题。。
还望指教
作者: wang6542975
时间: 2008-7-23 11:51
。。提示系统找不到指定的文件,抱歉,看错了。
本认为是目录的问题,然后把批处理放着客户资料文件夹下运行也不行。。
作者: wang6542975
时间: 2008-7-23 12:02
好像是MOVE命令的问题。
作者: 523066680
时间: 2008-7-23 14:27
郁闷 极度郁闷 !!!
(希望你把相关的图像截下来 发到贴上让大家伙看一下)
作者: moniuming
时间: 2008-7-23 17: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
作者: wang6542975
时间: 2008-7-23 17:25
标题: 谢谢!!
这么清晰的思路值得我好好学习!!
对了假如是以“客户资料”为名的文件夹怎么办?
MOVE“客户资料”文件夹到E:\WIN
我试了试比较难。。
作者: moniuming
时间: 2008-7-23 17:55
试试这个?
@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