某Q友問題-如何在windows環境ftp檔案到ftp server並且重新命名上傳檔案

wisdomone1發表於2015-07-08

網友問題



結論

1,windows檔名稱不能包括特殊字元如:.,等,否則會在FTP命令中報錯
2,windows bat或CMD相關命令相當強大,和LINUX SHELL功能類似,大家可以好好研究下
3,之前我也沒有系統學習過ftp bat批處理,本FTP主要涉及到echo,set,rename以及>>和ftp
4,我把我學習解決此問題的完整流程展現給大家,希望有助於大家瞭解如何解決問題

分析過程:


1,我們瞭解下FTP命令的具體使用


2,測試下FTP的相關命令,成功執行


3,接下來我們把上述的FTP命令整合到BAT批處理指令碼中


4,執行上述的FTP批處理指令碼,執行不成功,僅執行到連線FTP就停止在哪兒了


5,調整FTP上傳批處理指令碼,上傳檔案成功(more檢視檔案內容)


6,繼續調整上述FTP上傳批處理指令碼(因為仍不符合Q友的要求),主要學習RENAME命令(重新命名檔案)




7,連線到FTP SERVER上,採用RENAME重新命名已上傳到FTP SERVER的檔案為另一個檔名稱


8,修正後的FTP批處理指令碼


9,
繼續整合,我們把FTP上傳當前日期及FTP客戶端的IP資訊整合到對應的上傳的檔名稱中,所以要用到變數
經查閱文件,WINDOWS變數分為環境變數及使用者變數,前者為系統自有的變數,可以直接使用,而後者需要你定義,然後使用

windows下獲取環境變數的資訊(類似於linux的環境變數)


使用者自定義一個變數,通過2個%引用變數,可以顯示變數的值或內容


10,
因為要把變數傳遞到FTP環境中,所以要我們要在批處理中用到ECHO,其實就類似於在LINUX呼叫SQLPLUS一樣,如何把LINUX變數傳遞到SQLPLUS環境中
如下為最終的批處理FTP指令碼
大約講解下處理邏輯:
   1,@echo off關閉提示符響應
   2,   2行SET為定義2個變數,1為獲取當前日期,2為獲取IP地址
   3,採用OPEN連線到FTP SERVER
   4,   通過USER輸入FTP SERVER使用者及密碼
   5,PUT即上傳檔案到FTP SERVER
   6,   上傳成功後,採用RENAME重新命名檔案(即Q友指定的檔名+日期+IP地址)


11,執行FTP指令碼


12,到FTP SERVER檢視成果

個人簡介

8年oracle從業經驗,具備豐富的oracle技能,目前在國內北京某專業oracle服務公司從事高階技術顧問。
服務過的客戶:
中國電信
中國移動
中國聯通
中國電通
國家電網
四川達州商業銀行
湖南老百姓大藥房
山西省公安廳
中國郵政
北京302醫院     
河北廊坊新奧集團公司

 專案經驗:
中國電信3G專案AAA系統資料庫部署及優化
      中國聯通4G資料庫效能分析與優化
中國聯通CRM資料庫效能優化
中國移動10086電商平臺資料庫部署及優化
湖南老百姓大藥房ERR資料庫sql優化專案
四川達州商業銀行TCBS核心業務系統資料庫模型設計和RAC部署及優化
四川達州商業銀行TCBS核心業務系統後端批處理儲存過程功能模組編寫及優化
北京高鐵訊號監控系統RAC資料庫部署及優化
河南宇通客車資料庫效能優化
中國電信電商平臺核心採購模組表模型設計及優化
中國郵政儲蓄系統資料庫效能優化及sql優化
北京302醫院資料庫遷移實施
河北廊坊新奧data guard部署及優化
山西公安廳身份證審計資料庫系統故障評估
國家電網上海災備專案4 node rac+adg 
       貴州移動crm及客服資料庫效能優化專案
       貴州移動crm及客服務資料庫sql稽核專案
       深圳穆迪軟體有限公司資料庫效能優化專案

聯絡方式:
手機:18201115468
qq   :   305076427
qq微博: wisdomone1
新浪微博:wisdomone9
qq群:275813900    
itpub部落格名稱:wisdomone1    http://blog.itpub.net/9240380/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-1726452/,如需轉載,請註明出處,否則將追究法律責任。

相關文章