用bat腳本登錄ftp服務器,下載指定文件。
第一次腳本,有問題,你發現了么?
由於每個">>"重定向符號之前都習慣用空格(python style),導致寫道ftp.txt中的每一行最后都有一個空格,所以ftp登錄時報用戶名密碼不正確
···
@echo off 請輸入一個參數:本次迭代編號,如k0225(k表示2019年,l表示2020年,以此類推)
echo clouder > ftp.txt
echo engine >> ftp.txt
echo cd PowerDude/thinclient/%1 >> ftp.txt
echo binary >> ftp.txt
echo mget OneCloud_PowerDude_Setup_x86_V* >> ftp.txt
echo y >> ftp.txt
echo quit >> ftp.txt
ftp -d -s:ftp.txt 192.168.1.170
del ftp.txt
···
遇到問題 老是登錄不上
···
C:\Users\clouder\Desktop\yanna>ftp -s:ftp.txt 192.168.1.170
連接到 192.168.1.170。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用戶(192.168.1.170:(none)):
331 Please specify the password.
530 Login incorrect.
登錄失敗。
ftp> cd PowerDude/thinclient/k0225
530 Please login with USER and PASS.
ftp> binary
530 Please login with USER and PASS.
ftp> mget OneCloud_PowerDude_Setup_x86_V*
Please login with USER and PASS.
Please login with USER and PASS.
Please login with USER and PASS.
530 Please login with USER and PASS.
找不到遠程文件列表。
ftp> y
無效命令。
ftp> quit
221 Goodbye.
···
最后修改為,注意">>"之前不要有空格
@echo 請輸入一個參數:本次迭代編號,如k0225(k表示2019年,l表示2020年,以此類推)
echo clouder>> ftp.txt
echo engine>> ftp.txt
echo cd PowerDude/thinclient/%1>> ftp.txt
echo binary>> ftp.txt
echo mget OneCloud_PowerDude_Setup_x86_V*>> ftp.txt
echo y>> ftp.txt
echo quit>> ftp.txt
ftp -d -s:ftp.txt 192.168.1.170
del ftp.txt
解析:
- @ 表示不運行后面的內容,echo是回顯,相當於print,“@echo”一般用來寫操作說明,help等信息
- echo 表示回顯,相當於print語句
-
,>> 重定向符號,把左邊的內容重定向到右邊的位置,>表示重寫,>>表示追加
- %1 表示命令行第一個參數,%0 即腳本本身名字
- ftp -d表示調試模式,可以看得更細的內容,方便排錯,-s 指定包含 FTP 命令的文本文件,命令在 FTP 啟動后自動運行。
- del ftp.txt 刪除文件