2017-07-26 88 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