请教一下,我想实现通过批处理自动确认可移动磁盘(U盘)的盘符,然后判断其是否存在jobs文件夹,有就执行一命令,没有的话就创建该文件夹并执行一命令。我遇到的问题是已经取得正确的可移动磁盘的盘符,却不能传递其值给后面的语句,不能实现预期目的。我的批处理内容如下:
@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
set var=%%i:
if not exist (%var%\jobs) (md %var%\jobs)
del %var%\jobs\*.* /q>nul
copy D:\经纬软件\经纬标签打印系统\PrintLable\jobs %var%\jobs /y >nul
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q >nul
@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 && (
xcopy D:\经纬软件\经纬标签打印系统\PrintLable\jobs %%i:\jobs /s /q >nul
del D:\经纬软件\经纬标签打印系统\PrintLable\jobs\*.* /q >nul
)
) 这段如果能正确执行也能实现
@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
)
) 请高手帮忙指点或修改这段语句中的错误吧,这是最符合我本意的,谢谢
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
这些都没执行,或者没取得正确结果
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盘操作。这与我的本意是不相符的