我有一个生成CSV文件的程序,根据文件的名称,它必须被压缩。并通过FTP发送到不同的位置
我是否可以获取有关如何动态生成cmd文件接受文件名的专家建议?以及如何使用CMD FTP文件
我的程序输出:d:\ testingfolder \
中的TESTING_OUTPUT.csv输入文件名为CMD文件:TESTING_OUTPUT.csv
输出:TESTING_OUTPUT.ZIP通过FTP发送到1.123.456 user -scott pwd -tiger
如果我能够创建CMD文件,那么我想从后SQL调用CMD文件作为调用d:\ TESTINGFOLDER \ FTP.cmd TESTING_OUTPUT.csv
你可以帮我制作CMD吗?答案 0 :(得分:1)
%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.