Windows系統定時上傳檔案至FTP

2021-10-05 13:32:49 字數 1824 閱讀 5260

基本操作:

1.cmd下,輸入ftp host或者先輸入ftp,然後輸入open host,其中host為要連線的計算機名、ip位址或ftp伺服器的ipv6位址。

2.根據提示輸入登入的使用者名稱密碼。

3.cd /path,利用cd命令進入到某個路徑下

4.put source [file1],將本地source檔案傳送到伺服器上,並更名為file1,如果不帶file1引數,則為原名。也可以用send命令,語法相同,但send的傳輸速度會比put快些。

5.bye,斷開ftp

例如:將本地e盤下的a檔案上傳到ftp下的doc資料夾下

ftp 192.11.11.11

user

password

cd /hw

put e:/a.txt

bye

在實際情況中,我們常常需要定期上傳特定檔案到伺服器,此時,就可以用bat指令碼+定時任務來實現啦!

寫bat指令碼

思路:用乙個檔案儲存使用者名稱密碼,每次執行時複製該檔案,並在檔案末尾新增ftp命令。執行修改後的檔案,執行完成後刪除此檔案。

注:由於echo命令寫檔案時會自動新增空格,導致執行時提示使用者名稱錯誤,因此只能事先將使用者名稱密碼儲存到檔案中。

1.新建檔案a.txt,檔案內容為

open host #host為ftp主機名或ip

user

password

2.新建bat指令碼,指令碼內容為

copy a.txt b.txt           #拷貝a檔案並重命名為b

@echo off

echo cd /path >> b.txt #echo命令用於在b檔案末尾新增語句

echo binary >> b.txt

echo put source >> b.txt

echo bye >> b.txt

ftp -s:b.txt #執行b檔案

del b.txt #刪除b檔案

注:如果a.txt檔案在其他目錄,copy語句前需加入cd語句進入到該檔案所在路徑。

例如:將e盤下bac資料夾下的檔案拷貝到ftp伺服器的hw路徑下,伺服器ip為192.11.11.11,使用者名為user,密碼為111,a檔案儲存在e:\bat目錄下

a.txt 

open 192.11.11.11

user

111

copy.bat

e:

cd /bat

copy a.txt b.txt

@echo off

echo cd /hw >> b.txt

echo binary >> b.txt

echo put e:\bac\file1.txt >> b.txt

echo put e:\bac\file2.txt >> b.txt

echo bye >> b.txt

ftp -s:e:\bat\b.txt

del b.txt

注:實際情況中,每天上傳的檔案可能不同,但都具有某一規律。如上傳以當天日期命名的檔案,此時我們就可以將檔名寫成變數,每次程式執行時自動確定檔名。如檔名格式為yyyy-mm-dd.bak,則可以將put語句寫成

put e:\bac\%date:~0,4%-%date:~5,2%-%date:~8,2%.bak

3. 設定定時任務

windows上傳檔案到windows

description 從本地上傳檔案到共享目錄 param param localfilename 本地檔名 public static void smbput string localfilename catch exception e finally catch ioexception e d...

linux svn定時備份檔案 檔案上傳

需求比較簡單,因為svn庫比較小,才10多個g,每天定時備份乙個全量的svn檔案,上傳到另外乙個伺服器上就可以了,按照周一到周五自動備份,然後ftp上傳覆蓋更新 1 先建立乙個svn.pl備份指令碼,內容如下 usr bin perl w my svn repos var svn svnrepos ...

WINDOWS定時自動刪除檔案

命令存放位置 c windows system32 刪除三天前的檔案 forfiles p i serverbak 2005 s m d 2 c cmd c del file 說明 forfiles是2003自帶的命令,非常好用,詳細可以forfiles 查詢。可以複製到xp中使用,複製到2000中...