痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
查看: 5251|回復: 5

請教批次檔問題

[複製鏈接]
發表於 2014-1-18 03:45:02 | 顯示全部樓層 |閱讀模式
我有使用ccdisk當ISCSI伺服器,
客戶端是用微軟內建的ISCSI客戶端,

想要使用批次將客戶端連接的ISCSI磁碟,
變更為X:,而ISCSI客戶端,原始的ISCSI磁碟代號未知,
下列我有在百度上找到批次檔,
但我看不太懂,請懂得大大指教一下,
網址:http://mayun03.blog.163.com/blog/static/1000376320081811117415/

@echo off
echo **********正在断开连接**********
for /l %%a in (1,1,10) do (
iscsicli sessionlist>session.isc
for /f "tokens=1,3,4" %%b in (session.isc) do (
  if %%b==Session (
   iscsicli logouttarget 0x%%d>session.isc
  )
  if %%b==Total (
   if %%c==0 (
    echo **********断开连接成功**********
    goto end
   )
  )
)
)
echo **********断开连接失败,请关闭相关程序**********
echo ********例如关闭iSCSI盘上的游戏或者程序********
:end
del session.isc /q

rem 删除其他盘符与iscsi盘相同序列号的值
for %%i in (A B C D E F G H) do call:regq %%i
rem 使连接的文件系统序列号,分配为盘符I:
reg add "HKLM\SYSTEM\MountedDevices" /f /v "\DosDevices\I:" /t REG_BINARY /d "39063906007e000000000000"

iscsicli LoginTarget iqn.2005-02.com.ricecake.iscsi:00 T * * * * * * * * * * * * * * * 0

goto eof

rem 函数段
:regq
reg query "HKLM\SYSTEM\MountedDevices" /v "\DosDevices\%1:" 2>nul | find /i "39063906007e000000000000"
if %errorlevel%==0 reg delete "HKLM\SYSTEM\MountedDevices" /v "\DosDevices\%1:"
goto eof

:eof
發表於 2014-1-18 10:04:01 | 顯示全部樓層
本帖最後由 conbawa 於 2014-1-18 10:06 AM 編輯

亂猜一下...
第一段斷開現有連接,或許可以不看 (其實是看不懂)  

第二段
rem 使连接的文件系统序列号,分配为盘符I:
reg add "HKLM\SYSTEM\MountedDevices" /f /v "\DosDevices\I:" /t REG_BINARY /d "39063906007e000000000000"
"\DosDevices\I:"  改成 "\DosDevices\X:"   後面的序號也要改

刪除既有存在掛載磁碟,因為例子是掛載在I: 所以他只搜尋到H: 要掛載到X:
for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W) do call:regq %%i
可能要改成這樣

第三段 :regq 段裡作的是先reg query 查詢登錄裏在 "HKLM\SYSTEM\MountedDevices"  之下
有第二段的該序號列存在時,刪除該序號列資料,所以序號列也要改成自己的

序號列如果不知道,而已經有連結,可能可以在"HKLM\SYSTEM\MountedDevices"  下面找到

以上,是亂猜
 樓主| 發表於 2014-1-21 03:21:39 | 顯示全部樓層
conbawa 發表於 2014-1-18 10:04 AM static/image/common/back.gif
亂猜一下...
第一段斷開現有連接,或許可以不看 (其實是看不懂)  

找到也許可以代用的方法,
因為比對兩台電腦的登錄檔,
發現不管ISCSI磁碟的代號是多少,
登錄值是一樣的,

IMG_1681 [800x600].jpg

IMG_1680 [800x600].jpg

於是在完全為連接ISCSI磁碟前,
先將登錄值匯入,就可以直接使用匯入的代號,

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices]

"\\DosDevices\\X:"=hex:01,00,00,00,00,00,00,00,00,00,00,00

我還要多試試看!
發表於 2014-1-21 08:47:24 | 顯示全部樓層
ㄚ達 發表於 2014-1-21 03:21 AM static/image/common/back.gif
找到也許可以代用的方法,
因為比對兩台電腦的登錄檔,
發現不管ISCSI磁碟的代號是多少,

從範例批次檔來看,這個登錄值是相同的沒錯
差別就在於磁碟機代號,所以他批次檔的動作
就是在搜尋該字串值,找到就刪掉,不刪掉會不會出錯,不曉得
或許會類似網路芳鄰,可以多次mount

這段應該是指定連接的iscsi裝置路徑?
iscsicli LoginTarget iqn.2005-02.com.ricecake.iscsi:00 T * * * * * * * * * * * * * * * 0
如果說不用執行這段就能使用

那就更簡單了,就直接把您匯出的登錄檔,直接下
regsvr32 -s 匯出登錄.reg

就好了,但是可能行不通也說不定
 樓主| 發表於 2014-1-25 02:30:06 | 顯示全部樓層
不好意思,搜尋該字串值,找到就刪掉,
這段是從哪裡到哪裡,我研究部出來,
可以指點一下嗎!
我在自己修改測試!
發表於 2014-1-25 09:34:48 | 顯示全部樓層
ㄚ達 發表於 2014-1-25 02:30 AM static/image/common/back.gif
不好意思,搜尋該字串值,找到就刪掉,
這段是從哪裡到哪裡,我研究部出來,
可以指點一下嗎!

rem 删除其他盘符与iscsi盘相同序列号的值
for %%i in (A B C D E F G H) do call:regq %%i
rem 使连接的文件系统序列号,分配为盘符I:
reg add "HKLM\SYSTEM\MountedDevices" /f /v "\DosDevices\I:" /t REG_BINARY /d "39063906007e000000000000"

iscsicli LoginTarget iqn.2005-02.com.ricecake.iscsi:00 T * * * * * * * * * * * * * * * 0


rem 函数段
:regq
reg query "HKLM\SYSTEM\MountedDevices" /v "\DosDevices\%1:" 2>nul | find /i "39063906007e000000000000"
if %errorlevel%==0 reg delete "HKLM\SYSTEM\MountedDevices" /v "\DosDevices\%1:"
goto eof

call:regq 就是跳到 :regq 這段
其中的 39063906007e000000000000 是範例作者電腦上面的
您的應該要把所有的39063906007e000000000000改成 010000000000000000000000

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-11-23 05:37 PM , Processed in 0.173849 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.