Csv 通过FTP发送文件

Csv 通过FTP发送文件,csv,batch-file,cmd,ftp,dos,Csv,Batch File,Cmd,Ftp,Dos,我有一个程序,生成一个CSV文件,根据文件名,它必须被压缩。并通过FTP发送到不同的位置 关于如何使cmd文件动态接受文件名,我可以得到您的专家建议吗?以及如何使用CMD FTP文件 我的程序的输出:在d:\testingfolder中测试_Output.csv\ 将文件名输入CMD文件:TESTING_OUTPUT.csv 输出:测试_Output.ZIP通过FTP发送给1.123.456用户-scott pwd-tiger 如果我能够生成一个CMD文件,那么我想从post SQL调用CMD文

我有一个程序,生成一个CSV文件,根据文件名,它必须被压缩。并通过FTP发送到不同的位置

关于如何使cmd文件动态接受文件名,我可以得到您的专家建议吗?以及如何使用CMD FTP文件

我的程序的输出:在d:\testingfolder中测试_Output.csv\

将文件名输入CMD文件:TESTING_OUTPUT.csv

输出:测试_Output.ZIP通过FTP发送给1.123.456用户-scott pwd-tiger

如果我能够生成一个CMD文件,那么我想从post SQL调用CMD文件,称为call d:\TESTINGFOLDER\FTP.CMD TESTING\u OUTPUT.csv


您能帮我制作CMD吗?

%1
是批处理的命令行参数

所以用这些线做一批

Echo %1
Echo %2
然后在命令提示下键入

nameofbatch.bat Parameter1 "Parameter 2"
键入
ftp/?
以获取有关ftp的帮助。使用
ftp-s:script
执行一系列ftp命令。键入
ftp
,然后键入
以获取脚本中命令的帮助

通过在批处理中动态生成脚本,可以指定不同的文件名<代码>%1将在命令行上指定名称

echo open ftp.microsoft.com >ftp.script
echo. >>ftp.script
echo user anonymous >>ftp.script
echo email@email.com >>ftp.script
echo ls >>ftp.script
echo get softlib\%1 >>ftp.script
ftp -s:ftp.script
所以像这样在批上运行

nameofbatfile.bat readme.txt
命令提示符窗口文件夹中应该有一个readme.txt文件

下面是关于命令提示符的更多信息。请参阅报价条目

&    seperates commands on a line.

&&    executes this command only if previous command's errorlevel is 0.

||    (not used above) executes this command only if previous command's errorlevel is NOT 0

>    output to a file

>>    append output to a file

<    input from a file

|    output of one command into the input of another command

^    escapes any of the above, including itself, if needed to be passed to a program

"    parameters with spaces must be enclosed in quotes

+ used with copy to concatinate files. E.G. copy file1+file2 newfile

, used with copy to indicate missing parameters. This updates the files modified date. E.G. copy /b file1,,

%variablename% a inbuilt or user set environmental variable

!variablename! a user set environmental variable expanded at execution time, turned with SelLocal EnableDelayedExpansion command

%<number> (%1) the nth command line parameter passed to a batch file. %0 is the batchfile's name.

%* (%*) the entire command line.

%<a letter> or %%<a letter> (%A or %%A) the variable in a for loop. Single % sign at command prompt and double % sign in a batch file.
&在一行上分隔命令。
&&仅当上一个命令的errorlevel为0时才执行此命令。
||(上面未使用)仅当上一个命令的errorlevel不是0时才执行此命令
>输出到文件
>>将输出附加到文件
<从文件输入
|将一个命令的输出转换为另一个命令的输入
^如果需要传递给程序,则转义上述任何一项,包括转义本身
“带空格的参数必须用引号括起来
+用于复制以包含文件。例如,复制文件1+文件2新文件
,与“复制”一起使用以指示缺少的参数。这将更新文件的修改日期。例如,“复制/b文件1,”,,
%variablename%a内置或用户设置的环境变量
!variablename!用户设置的环境变量在执行时展开,并使用SelLocal EnableDelayedExpansion命令打开
%(%1)传递给批处理文件的第n个命令行参数。%0是批处理文件的名称。
%*(*)整个命令行。
%或%%(%A或%%A)for循环中的变量。在命令提示下单%s签名,在批处理文件中双%s签名。

到目前为止,您尝试了什么?Google上有很多关于如何通过命令行FTP文件的示例。我们不太适合您(有人可能会,但他们确实不应该),但我们很乐意纠正您现有代码中的任何错误。您所说的“动态接受文件名”是什么意思?“嗨,我以前从未制作过cmd文件。我是数据仓库专业人员,不是编码员。动态接受文件名我的意思是调用cmdfilehere inputfilenamehere.csvAh,您需要使用命令行参数。我建议谷歌搜索一下;这很简单,我想你会很快掌握窍门的,明白吗?我说过有人会回答这个问题,尽管这个问题离题了,因此不值得回答。