2013-11-20 87 views
0

前提:我不是程序員。簡單的批處理腳本來檢查域中的計算機名

我需要做一個簡單的批處理腳本,檢查在域中的計算機名稱,如果這是正確的名稱EXCUTE另一個批處理腳本(我已經話),否則檢查下一臺計算機的名字。

我TRID做一些事情,但它是非常難受。

If %computername%=VDSXXXXXXD 
    then c:\XXXXX\XXXX.bat 
    echo VDSXXXXD FOUND 
Else %computername%=VDSYYYYYD 
    then c:\XXXXXX\ZZZ.bat 
    echo VDYYYYYD FOUND 
Else %computername%=VDSYYYYYD 
    then c:\XXXXXX\ZZZZ.bat 
    echo VDSZZZZZD FOUND 
goto 
:End 

回答

2

你是相當接近的非程序員,這應該爲你工作(雖然有與所有計算機名稱的文本文件將是最優的。)

If "%computername%"=="VDSXXXXXXD" (
start c:\XXXXX\XXXX.bat 
echo VDSXXXXD FOUND 
goto :eof 
) 
if "%computername%"=="VDSYYYYYD" (
start c:\XXXXXX\ZZZ.bat 
echo VDYYYYYD FOUND 
goto :eof 
) 
if "%computername%"=="VDSYYYYYD" (
start c:\XXXXXX\ZZZZ.bat 
echo VDSZZZZZD FOUND 
goto :eof 
) 

:eof 
Exit 

,並應爲你工作很好,

Mona

+0

非常感謝您的快速回復。在第一次之前,如果,我有什麼東西?像CLS? – Jerax

+0

您可以添加一個'@echo off'作爲第一行來抑制將所有這些行回顯到控制檯。 – rdtsc

1

這是一個簡單而直接的做法。

如果名稱和批處理文件之間存在關係,那麼循環會更容易維護。

@echo off 
If %computername%=VDSXXXXXXD (echo VDSXXXXD FOUND & c:\XXXXX\XXXD.bat) 
If %computername%=VDSXXXXXXE (echo VDSXXXXE FOUND & c:\XXXXX\XXXE.bat) 
If %computername%=VDSXXXXXXF (echo VDSXXXXF FOUND & c:\XXXXX\XXXF.bat) 
If %computername%=VDSXXXXXXG (echo VDSXXXXG FOUND & c:\XXXXX\XXXG.bat) 
If %computername%=VDSXXXXXXH (echo VDSXXXXH FOUND & c:\XXXXX\XXXH.bat) 
+0

是的,有一個獨特的relationiship.For例子:計算機名稱:VDS00001D必然運行相關的腳本。 – Jerax

+0

什麼是獨特的關係?形容它。 – foxidrive

+0

爲每臺計算機(槽域名)我必須做運行另一個腳本,它運行了,我們在公司 – Jerax