[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. :recur
  3. for /f "delims=驱动器:\ " %%a in ('fsutil fsinfo drives^|more') do (
  4.       fsutil fsinfo drivetype %%a:|findstr %a% "可移动">nul&&(
  5.           if not defined a (
  6.              set "a=/v"&call :recur "%%a"
  7.              ) else (
  8.              for /f "delims=" %%i in ('dir /b /s %%a:\cstrike.exe') do (
  9.                    copy "%%~dpi" "%~1:\"
  10. ))))
  11. if "%~1" neq "" pause
  12. exit/b
复制代码
未测试。
心绪平和,眼藏静谧。

TOP

驱动器未就绪,应该是你的U盘问题吧,或者是连接问题。
----------------------------------------------------------------------
现在才知copy不能复制文件夹,请用ZQZ版主的代码。

[ 本帖最后由 pusofalse 于 2008-9-30 19:28 编辑 ]
心绪平和,眼藏静谧。

TOP

回复 7楼 的帖子

zqz版主的代码也不行吗,运行批处理,把结果信息贴上来。
心绪平和,眼藏静谧。

TOP

回复 9楼 的帖子

不解~
for /f "delims=" %%i in ('dir /b /s %%a:\cstrike.exe') do copy "%%~dpi" "%~1:\"
这样一句中的%%~dpi确实应该是文件所在的路径,请随风兄赐教~
心绪平和,眼藏静谧。

TOP

回复 12楼 的帖子

我昨天刚刚知道copy不能复制文件夹~受教!~
另,测试不必开启延迟,%a%也会正确扩展,call了一个子过程,虽然是call自身,但还是相当于跳出了循环~测试以下代码便知:
  1. @echo off
  2. set "str=echo batch&echo bbs.bathome.net"
  3. :lp
  4. for %%i in (test) do (
  5.      (%str%)|findstr %a% "batch"
  6.      if not defined a set "a=/v"&call :lp a
  7. )
  8. if "%~1" equ "" pause
  9. set a=
复制代码
心绪平和,眼藏静谧。

TOP

返回列表