2017-07-26 74 views
1

我正在嘗試編寫一個批處理文件來自動執行重新啓動服務器上某些IP攝像機的過程。使用批處理文件遍歷列表

我已經成功地獲得了一個批處理文件,通過ftp重啓一臺攝像機,但我無法理解如何爲範圍內的每個ip執行此操作。

我目前有:

open IP 
user 
pass 
quote site reboot 
quote site reboot 
quit 
echo 

保存在一個.txt文件(ftp.txt),我用這個.bat文件稱:

@echo off 
set user = Username 
set pass = Password 
ftp -s:ftp.txt 

我想要的清單使用的IP地址,然後讓bat腳本逐個執行重新啓動,等待2分鐘後再轉到下一個。

我想我需要將該列表放在.txt文件中,在蝙蝠中使用for循環。

set ip = iplist(??) <-- Part causing confusion 
for each ip in ftp.txt 
    open ip 
    user 
    pass 
    quote site reboot 
    quote site reboot 
    pause 2 min 
quit 

任何幫助將不勝感激!

+0

您對相機(例如用戶)有不同的設置,或者只是_IP_有所不同? – CristiFati

+0

只有IP地址 –

+0

「一些IP攝像機」。那是3還是300? IP會被嵌入到bat文件或文本文件中嗎? – RGuggisberg

回答

2

以下是我會做:

  • 存儲所有的攝像機IP S IN
  • (每行一個IP)稱爲cameras.txt文件將您的批處理文件修改爲:

    @echo off 
    for /f %%f in (cameras.txt) do (
        ftp -s:ftp.txt %%f 
    ) 
    
    • 注:
      1. 我除去2 ENV瓦爾(用戶)設置,因爲它們不使用反正
      2. [SS64]: FOR /F用於通過cameras.txt的每一行進行迭代文件
      3. 注意額外的參數爲FTP(它是IP
  • 由於3 第三屆值得注意的是,IP作爲參數傳遞給FTP,所以它在FTP不再受到必需的。TXT文件,因此,你應該刪除1 ST線(open IP

測試:有下列文件內容:

  • cameras.txt

    mirrors.kernel.org 
    ftp.kr.freebsd.org 
    
  • ftp.txt

    anonymous 
    pass 
    quote site reboot 
    quote site reboot 
    quit 
    echo 
    

修改.BAT文件輸出是:

e:\Work\Dev\StackOverflow\q45327836>a.bat 
Connected to mirrors.pdx.kernel.org. 
220 Welcome to mirrors.kernel.org. 
200 Always in UTF8 mode. 
User (mirrors.pdx.kernel.org:(none)): 
331 Please specify the password. 

230 Login successful. 
ftp> quote site reboot 
550 Permission denied. 
ftp> quote site reboot 
550 Permission denied. 
ftp> quit 
221 Goodbye. 
Connected to daemon.kr.freebsd.org. 
220 daemon.kr.freebsd.org FTP server (Version 6.00LS) ready. 
500 OPTS UTF8 ON: command not understood. 
User (daemon.kr.freebsd.org:(none)): 
331 Guest login ok, send your email address as password. 

230 Guest login ok, access restrictions apply. 
ftp> quote site reboot 
500 SITE REBOOT: command not understood. 
ftp> quote site reboot 
500 SITE REBOOT: command not understood. 
ftp> quit 
221 Goodbye. 

,我認爲這是你以後。

+0

完美,謝謝! –

+0

不客氣:) – CristiFati