2011-06-07 60 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