Board logo

标题: 请高手帮我修改全盘搜索并复制文件的代码 [打印本页]

作者: 5872169     时间: 2008-3-18 10:40    标题: 请高手帮我修改全盘搜索并复制文件的代码

请高手帮我修改全盘搜索并复制文件的代码,我想全盘搜索*.doc文件并复制到F盘123文件夹下,但是把TXT文件和许多不是doc文件,也复制到了我的123文件夹,并改成了*.doc文件。

for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do (for /f %%i in ('dir /s/a %%a:\*.doc') do (copy /y  %%i F:\123\*.doc))
作者: moniuming     时间: 2008-3-18 13:03

@echo off
for %%a in (c d e f g h i j k l m n o p q r s t) do (
for /f "delims=" %%b in ('if exist %%a: dir /s /b /a-d "%%a:\*.doc"') do (
echo copy /y "%%b" "f:\123\"
)
)
echo.&pause

作者: NeverAgain     时间: 2008-3-18 13:38
--------------------------------------------------------------------------------
@echo off
for %%a in (c d e f g h i j k l m n o p q r s t) do (
for /f "delims=" %%b in ('if exist %%a: dir /s /b /a-d "%%a:\*.doc"') do (
echo copy /y "%%b" "f:\123\"
)
)
echo.&pause
--------------------------------------------------------------------------------

有区别吗?
@echo off
for %%a in (c d e f g h i j k l m n o p q r s t) do (
'if exist %%a: for /f "delims=" %%b in ('dir /s /b /a-d "%%a:\*.doc"') do (
echo copy /y "%%b" "f:\123\"
)
)
echo.&pause

作者: moniuming     时间: 2008-3-18 13:57
3楼的改成这个就行了
@echo off
for %%a in (c d e f g h i j k l m n o p q r s t) do (
if exist %%a: (
for /f "delims=" %%b in ('dir /s /b /a-d "%%a:\*.doc"') do (
echo copy /y "%%b" "f:\123\"
)
)
)
echo.&pause

作者: moniuming     时间: 2008-3-18 14:02
3楼的 if 前多了一个点
@echo off
for %%a in (c d e f g h i j k l m n o p q r s t) do (
'if exist %%a: for /f "delims=" %%b in ('dir /s /b /a-d "%%a:\*.doc"') do (
echo copy /y "%%b" "f:\123\"
)
)
echo.&pause
作者: 5872169     时间: 2008-3-18 14:26
测试成功了,谢谢大家!!
作者: cad55     时间: 2008-3-18 14:40


  Quote:
Originally posted by 5872169 at 2008-3-18 02:26 PM:
测试成功了,谢谢大家!!

???????????????/
作者: huahua0919     时间: 2008-3-18 14:56
fsutil fsinfo drives
for /r
作者: cad55     时间: 2008-3-18 15:27


  Quote:
Originally posted by huahua0919 at 2008-3-18 02:56 PM:
fsutil fsinfo drives
for /r

不明白................
作者: abcd     时间: 2008-3-18 15:55


  Quote:
Originally posted by cad55 at 2008-3-18 03:27 PM:



不明白................

他的意思是用fsutil fsinfo drives
来获取存在的分区,而不是用for从c一直检测到z。
作者: fastslz     时间: 2008-3-18 16:13

@echo off
Wmic Datafile Where "Extension='doc' and Drive<>'f:' and path<>'\\123\\'" Get Name>tmp.txt
for /f "skip=1 delims=*" %%i in ('type tmp.txt') do echo xcopy /y/r/h "%%~i" "f:\123"
del tmp.txt
pause

作者: cad55     时间: 2008-3-18 16:31
还是不好用呀....

调用的命令,,不可在系统中应用...