Tho*_*m G 3 windows ftp cmd batch-file
我正在尝试编写一个批处理文件来自动重新启动服务器上的一些 IP 摄像机的过程。
我已经成功获得了一个批处理文件来通过 ftp 重新启动一台摄像机,但我无法理解如何为该范围内的每个 IP 执行此操作。
我目前有:
open IP
user
pass
quote site reboot
quote site reboot
quit
echo
Run Code Online (Sandbox Code Playgroud)
保存在 .txt 文件 (ftp.txt) 中,我使用 .bat 文件调用它:
@echo off
set user = Username
set pass = Password
ftp -s:ftp.txt
Run Code Online (Sandbox Code Playgroud)
我想要一份所使用的 IP 地址列表,然后让 bat 脚本逐一执行重新启动,并等待 2 分钟,然后再转到下一个。
我想我需要将列表放在 .txt 文件中,并在 bat 中使用 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
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
我就是这样做的。
修改您的脚本(script00.bat):
@echo off
for /F %%f in (cameras.txt) do (
ftp -s:ftp.txt %%f
)
Run Code Online (Sandbox Code Playgroud)
注意事项:
我删除了 2 个env var ( user / pass ) 设置,因为它们无论如何都没有被使用
[SS64]:FOR /F用于迭代cameras.txt文件的每一行
注意FTP的额外参数(它是IP)
将所有摄像机IP存储在名为cameras.txt的文件中(每行一个 IP )
由于第三条注释,IP作为参数传递给FTP ,因此ftp.txt文件中不再需要它,因此您应该删除第一行( open IP
)
发布其他文件内容。
相机.txt:
mirrors.kernel.org
ftp.kr.freebsd.org
Run Code Online (Sandbox Code Playgroud)
ftp.txt:
anonymous
pass
quote site reboot
quote site reboot
quit
echo
Run Code Online (Sandbox Code Playgroud)
输出:
Run Code Online (Sandbox Code Playgroud)mirrors.kernel.org ftp.kr.freebsd.org
我认为这就是你所追求的。
有关FTP命令的更多详细信息,请查看:[MS.Learn]: ftp
归档时间: |
|
查看次数: |
15628 次 |
最近记录: |