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

[系统相关] 请帮忙给优化监控文件夹的批处理

::判断执行检测r:\ANNO1503\Texte.dat文件
if exist r:\ANNO1503\Texte.dat call :in & exit
XCopy  /e /y /c /h /r "f:\g\iscsi206\*.*" "%windir%\system32\" >nul2>nul
ping 127.1 -n 2 >nul
devcon install %windir%\system32\iscsi.inf Root\iSCSIPrt >nul2>nul
ping 127.1 -n 2 >nul
sc create MSiSCSI binpath= %windir%\system32\iscsiexe.exe displayname= MicrosoftiSCSI start= auto
sc start MSiSCSI
ping 127.1 -n 3 >nul
iscsicli AddTargetPortal 192.168.0.22 3260
ping 127.1 -n 1 >nul
iscsicli LoginTarget iqn.2001-04.com.example:storage.disk2.sys1.xyz T * * * * * * * * * * * * * * * 0
::延时20秒

下面这段是 G H I J K L 分别的出的盘 P Q R S T 是分被在他们里的文件夹
我用的是让批处理 不段的查询这几个盘内是否有这几个文件夹
如果都存在的话就执行最下面的修改盘符的 批处理
感觉我用的这段太长了~!~个位能给优化下吗~!~!~!
:pp
setlocal
ping 127.0.0.1 -n 2 >nul
for %%i in (G H I J K L ) do (
  for %%a in (P) do if exist %%i:\%%a\ goto :loop1 %%i %%a
)
endlocal
goto :pp
:loop1  
endlocal

:qq
setlocal
ping 127.0.0.1 -n 2 >nul
for %%i in (G H I J K L ) do (
  for %%a in (Q) do if exist %%i:\%%a\ goto :loop2 %%i %%a
)
endlocal
goto :qq
:loop2  
endlocal

:rr
setlocal
ping 127.0.0.1 -n 2 >nul
for %%i in (G H I J K L ) do (
  for %%a in (R) do if exist %%i:\%%a\ goto :loop3 %%i %%a
)
endlocal
goto :rr
:loop3  
endlocal

:ss
setlocal
ping 127.0.0.1 -n 2 >nul
for %%i in (G H I J K L ) do (
  for %%a in (S) do if exist %%i:\%%a\ goto :loop4 %%i %%a
)
endlocal
goto :ss
:loop4  
endlocal

:tt
setlocal
ping 127.0.0.1 -n 2 >nul
for %%i in (G H I J K L ) do (
  for %%a in (T) do if exist %%i:\%%a\ goto :loop5 %%i %%a
)
endlocal
goto :tt
:loop5  
endlocal


ping 127.0.0.1 -n 3 >nul

::修改盘符
for %%i in (G H I J K L ) do (
  for %%a in (P Q R S T) do if exist %%i:\%%a\ call :loop %%i %%a
)  
ping 127.1 -n 3 >nul
:loop
for /f %%j in ('mountvol %~1: /L') do (mountvol %~1: /d && mountvol %~2: %%j)
echo 以将 %~1 盘改为 %~2 盘
ping 127.1 -n 2 >nul
goto :eof
ping 127.1 -n 2 >nul
:in
cls
goto :eof
pause

[ 本帖最后由 wangplay163 于 2008-4-4 14:17 编辑 ]

红色代码完全可以不要,
::修改盘符
for %%i in (G H I J K L ) do (
  for %%a in (P Q R S T) do if exist %%i:\%%a\ call :loop %%i %%a
)  
ping 127.1 -n 3 >nul
exit
这里加一句exit退出就可以了。
技术问题请到论坛发帖求助!

TOP

随风 大大来了啊~!~

红色的那部分 是留判断的~!
因为 刚开机 出盘出的很慢~~!~!

我得等盘全出来才能改盘~!要不会出错

TOP

for %%i in (G H I J K L ) do (
  for %%a in (P Q R S T) do if exist %%i:\%%a\ call :loop %%i %%a
)  
ping 127.1 -n 3 >nul
exit

这段好像 测试的时候 会死循环~!~

我测试下去吧

TOP

返回列表