使用FTP的批处理文件从命令行运行,但不是作为计划任务运行

时间:2015-01-14 10:00:26

标签: windows batch-file ftp cmd

我有一个批处理文件,在某些时候会启动一个ftp会话。这个ftp应该创建一个日志文件。 当我运行批处理文件命令行时,它工作正常,但是当它由Windows任务调度程序启动时,它没有。它不会创建ftp日志文件,甚至ftp也不起作用。

这是批处理文件的一部分:

unzip -o %sourcedir%%FileName% -d %sourcedir%
rename "%sourcedir%OriginalFileName" newfilename.txt
move %sourcedir%%FileName% "%sourcedir%Archive\%FileName%"
ftp -s:ftpscript.scr >D:\TEMP\log\FTPgetLOG.txt
FC /a /w %sourcedir%t2dircompare.txt %sourcedir%target2dir.txt | FIND "FC: no dif" > nul 

我使用参数从任务调度程序启动批处理文件:> d:\ TEMP \日志\ DistributeFile.txt 当我查看批处理文件的日志文件时,ftp部分如下所示:

C:\Windows\system32>ftp -s:PutT2DirToATBAS01.SCR  1>D:\TEMP\log\FTPgetLOG.txt 

由于某种原因,它增加了一个空格和1

任何想法如何解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:0)

1>表示与>相同。它始终在批处理文件中得到纠正,因为1>格式正确,>是兼容性的。 0 = stdinput,1 = stdoutput,2 = stderror。 3+ =一个随机文件,如果一个是开放的。

您需要检查您的环境和您的TS帐户,因为少数人无法访问网络。

答案 1 :(得分:0)

谢谢大家的意见。它对我有所帮助,但解决方案是改变任务调度程序中的操作,如下所示:

程序/脚本: CMD

添加参数: / c start“”“D:\ temp \ RunBatchFile.bat”

开始于: D:\ temp **

因此,请勿将批处理文件的名称放在“程序/脚本”字段中。