2011-06-07 61 views
3

我正在尋找使用FTP來寫一個大型機jobstream。要做到這一點,我可以通過FTP連接到大型機並運行以下命令:PowerShell原始FTP

QUOTE TYPE E 
QUOTE SITE FILETYPE=JES 
PUT myjob.jcl 

那麼,我該如何在PowerShell中執行此操作?我已經閱讀了很多關於標準FTP傳輸的內容,但是我還沒有看到任何關於自定義要求準備的請求。

感謝您的閱讀。

編輯

這裏是我想出瞭解決方案,每個答案在這裏和this article

@echo off 
echo user %1> ftpcmd.dat 
echo %2>> ftpcmd.dat 
echo QUOTE TYPE E>> ftpcmd.dat 
echo QUOTE SITE FILETYPE=JES>> ftpcmd.dat 
echo put %3>> ftpcmd.dat 
echo quit>> ftpcmd.dat 
ftp -n -s:ftpcmd.dat %4 
del ftpcmd.dat 

用法:

C:\>fileup user123 pa$$word myfile.txt ftp.server.com 

回答

3

你能使用-s開關爲FTP並指定一個文件,其中包含您的命令來運行?

-s:filename  Specifies a text file containing FTP commands; the 
        commands will automatically run after FTP starts. 

然後你可以在PowerShell中稱此爲

ftp -s:<myscript> <host> 
+0

我得出了同樣的結論。我實際上創建了一個.bat文件來處理這個問題。查看我編輯的解決方案。 – 2011-06-08 15:20:10

0

如果您熟悉.NET和希望通過編程做到這一點,也存在類似的問題/答案在這裏:

Upload files with FTP using PowerShell

它幾乎可以歸結爲使用System.Net.FtpWebRequest作爲工作。乍一看,它看起來相當簡單。

+0

Scott,感謝您的反饋,但System.Net.FtpWebRequest沒有「任意」調用的空間。 QUOTE TYPE E和QUOTE SITE FILETYPE = JES不支持通過FtpWebRequest。 – 2011-06-08 15:18:57