Board logo

标题: [文件操作] 批处理如何找光驱盘符和拷贝里面的文件? [打印本页]

作者: dxlz    时间: 2010-1-11 09:23     标题: 批处理如何找光驱盘符和拷贝里面的文件?

我的需要是这样的,1、用BAT如何自动找到是光盘的盘符。2、找到盘符以后如何把里面某个字母开头的文件夹(文件夹里包含子文件夹)拷贝到我指定的地方。我用下面的方法写了但是只能拷贝文件夹里面的不能把罗列出来的文件夹一起拷贝。
  1. @ ECHO OFF
  2. for /f "delims=" %%i in ('dir /ad /b "d:\a*" ') do xcopy d:\"%%i" e:\ls /s /e
  3. PAUSE
复制代码

作者: Batcher    时间: 2010-1-11 12:42

参考:批处理显示光驱盘符
http://www.bathome.net/thread-4658-1-1.html
作者: dxlz    时间: 2010-1-11 13:05

第二个问题我哪里有错呀。为什么拷贝的是文件夹里面的文件而不是整个文件夹呀。比如我D盘下面有A1,A2两个目录要把者两个目录拷贝到E盘的LS下。我那样写的话只能把A1.A2目录下的文件拷到LS下。但是我要拷贝的事A1.A2这两个目录包含里面的所有东西。
作者: batman    时间: 2010-1-11 15:56

xcopy d:\"%%i" "e:\ls\%%~ni\" /y /e
作者: dxlz    时间: 2010-1-11 17:06

自动找光驱的我看了,但是如何加到后面的代码中呢。才开学习请指点下。
作者: batman    时间: 2010-1-11 17:29

  1. @echo off
  2. for /f %%a in ('wmic logicaldisk where drivetype^="5" get caption^|findstr ":"') do (
  3.      for /f "delims=" %%b in ('dir /ad /b %%a\*a') do xcopy /y /e "%%b" "e:\ls\%%~nb\"
  4. )
复制代码

[ 本帖最后由 batman 于 2010-1-11 17:31 编辑 ]
作者: dxlz    时间: 2010-1-11 18:03

怎么运行代码后说找不到,但是明明是找了文件。出下面的提示
找不到文件 - AOCS
复制了 0 个文件
找不到文件 - DOTNETFX
复制了 0 个文件
请按任意键继续. . .

[ 本帖最后由 dxlz 于 2010-1-11 18:04 编辑 ]
作者: batman    时间: 2010-1-11 18:16     标题: 回复 7楼 的帖子

请将你实际运行的代码贴出来
作者: dxlz    时间: 2010-1-11 18:42

  1. @echo off
  2. for /f %%a in ('wmic logicaldisk where drivetype^="5" get caption^|findstr ":"') do (
  3.      for /f "delims=" %%b in ('dir /ad /b %%a\l*') do xcopy /y /e "%%b" "e:\ls\%%~nb\")
  4. pause
复制代码
找到光驱动后复制光驱动里L开头的所有文件夹到E盘的LS目录。
作者: batman    时间: 2010-1-11 19:06

是我错了。。。
  1. @echo off
  2. for /f %%a in ('wmic logicaldisk where drivetype^="5" get caption^|findstr ":"') do (
  3.      for /f "delims=" %%b in ('dir /ad /b %%a\l*') do xcopy /y /e "%%a\%%b" "e:\ls\%%~nb\"
  4. )
复制代码

作者: batman    时间: 2010-1-11 19:40

怎么没反馈了,不会又是一个伸手党吧!
作者: dxlz    时间: 2010-1-11 20:11

我申明我不是伸手党,我也才在学习.因为刚回家了.测试了可以.




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2