[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 15# apang


    具体指哪个,都需要加上?
天道酬勤、地道酬善、人道酬诚、商道酬信、业道酬精。

TOP

@echo off
cls
for %%i 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 (
        fsutil fsinfo drivetype %%i: | find "可移动" >nul && (
        if not exist (%%i:\jobs) (md %%i:\jobs)  
        del %%i:\jobs\*.* /q>nul
        copy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  %%i:\jobs  /y >nul
        del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q >nul
        )
   )  请高手帮忙指点或修改这段语句中的错误吧,这是最符合我本意的,谢谢
天道酬勤、地道酬善、人道酬诚、商道酬信、业道酬精。

TOP

回复 17# angelbd


    请详细说说这段代码的执行结果和你的实际需求有哪些差别?我可以帮你改

TOP

回复 18# DAIC


   首先谢谢你的帮助。我这个批处理想实现自动查找U盘并确认其盘符,然后判断其根目录下有无jobs这个文件夹,如果有就清空该目录中的所有文件,如果还没有就先创建jobs目录,然后就是将硬盘指定目录下的文件复制到U盘jobs目录中,最后再清空硬盘指定目录下的文件。谢谢你百忙之中热心帮忙。
天道酬勤、地道酬善、人道酬诚、商道酬信、业道酬精。

TOP

回复 19# angelbd


    请详细说说这段代码的执行结果和你的实际需求有哪些差别?我可以帮你改

TOP

回复 20# DAIC


   貌似连U盘盘符取值这步都没有成功,无论有无jobs目录,更没有实现目录创建,后续的复制文件也无从谈起了
天道酬勤、地道酬善、人道酬诚、商道酬信、业道酬精。

TOP

回复 20# DAIC


        if not exist (%%i:\jobs) (md %%i:\jobs)  
        del %%i:\jobs\*.* /q>nul
        copy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  %%i:\jobs  /y >nul
        del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q >nul
这些都没执行,或者没取得正确结果
天道酬勤、地道酬善、人道酬诚、商道酬信、业道酬精。

TOP

回复 21# angelbd


把 @echo off 删掉
把所有的 >nul 删掉
代码保存为 C:\test.bat
打开一个 CMD 窗口,执行命令:
C:\test.bat

把结果发出来看看

TOP

本帖最后由 apang 于 2014-11-20 17:11 编辑

if not exist (%%i:\jobs) (md %%i:\jobs)
这种语法是错误的,应该用双引号而不是用括弧包围

if not exist "%%i:\jobs\" (md %%i:\jobs)

TOP

  1. @echo off
  2. set "srcFolder=D:\经纬软件\经纬标签打印系统\PrintLable\jobs"
  3. if not exist "%srcFolder%\" exit/b
  4. (for %%i 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 (
  5.         fsutil fsinfo drivetype %%i:|findstr /i "Removable 可移动" && (
  6.                 rd /s /q "%%i:\jobs"
  7.                 xcopy "%srcFolder%\*" "%%i:\jobs\" /e /h /c
  8.                 set "flag=1"
  9.         )
  10. ))>nul 2>nul
  11. if defined flag echo rd /s /q "%srcFolder%"
  12. pause
复制代码

TOP

本帖最后由 angelbd 于 2014-11-20 19:27 编辑

C:\Documents and Settings\Administrator>for %i 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 (fsutil fsinfo drivetype %i:   | find "可移动"   && (
if not exist "%i:\jobs\" (md %i:\jobs )  
del %i:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  %i:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype c:   | find "可移动"   && (
if not exist "c:\jobs\" (md c:\jobs )  
del c:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  c:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype d:   | find "可移动"   && (
if not exist "d:\jobs\" (md d:\jobs )  
del d:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  d:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype e:   | find "可移动"   && (
if not exist "e:\jobs\" (md e:\jobs )  
del e:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  e:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype f:   | find "可移动"   && (
if not exist "f:\jobs\" (md f:\jobs )  
del f:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  f:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype g:   | find "可移动"   && (
if not exist "g:\jobs\" (md g:\jobs )  
del g:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  g:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype h:   | find "可移动"   && (
if not exist "h:\jobs\" (md h:\jobs )  
del h:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  h:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype i:   | find "可移动"   && (
if not exist "i:\jobs\" (md i:\jobs )  
del i:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  i:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype j:   | find "可移动"   && (
if not exist "j:\jobs\" (md j:\jobs )  
del j:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  j:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype k:   | find "可移动"   && (
if not exist "k:\jobs\" (md k:\jobs )  
del k:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  k:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype l:   | find "可移动"   && (
if not exist "l:\jobs\" (md l:\jobs )  
del l:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  l:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype m:   | find "可移动"   && (
if not exist "m:\jobs\" (md m:\jobs )  
del m:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  m:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype n:   | find "可移动"   && (
if not exist "n:\jobs\" (md n:\jobs )  
del n:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  n:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype o:   | find "可移动"   && (
if not exist "o:\jobs\" (md o:\jobs )  
del o:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  o:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype p:   | find "可移动"   && (
if not exist "p:\jobs\" (md p:\jobs )  
del p:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  p:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype q:   | find "可移动"   && (
if not exist "q:\jobs\" (md q:\jobs )  
del q:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  q:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype r:   | find "可移动"   && (
if not exist "r:\jobs\" (md r:\jobs )  
del r:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  r:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype s:   | find "可移动"   && (
if not exist "s:\jobs\" (md s:\jobs )  
del s:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  s:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype t:   | find "可移动"   && (
if not exist "t:\jobs\" (md t:\jobs )  
del t:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  t:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype u:   | find "可移动"   && (
if not exist "u:\jobs\" (md u:\jobs )  
del u:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  u:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype v:   | find "可移动"   && (
if not exist "v:\jobs\" (md v:\jobs )  
del v:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  v:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype w:   | find "可移动"   && (
if not exist "w:\jobs\" (md w:\jobs )  
del w:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  w:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype x:   | find "可移动"   && (
if not exist "x:\jobs\" (md x:\jobs )  
del x:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  x:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype y:   | find "可移动"   && (
if not exist "y:\jobs\" (md y:\jobs )  
del y:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  y:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )

C:\Documents and Settings\Administrator>(fsutil fsinfo drivetype z:   | find "可移动"   && (
if not exist "z:\jobs\" (md z:\jobs )  
del z:\jobs\*.* /q  
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs  z:\jobs /e /q   
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q  
) )
=======================================
结果是所有磁盘盘符都执行了一遍,而不是只是对可移动U盘操作。这与我的本意是不相符的
天道酬勤、地道酬善、人道酬诚、商道酬信、业道酬精。

TOP

回复 25# apang


    谢谢,你的方案已经验证正确,问题完美解决。谢谢众位热心人士。
天道酬勤、地道酬善、人道酬诚、商道酬信、业道酬精。

TOP

返回列表