CMD命令在promt中工作,但在.bat / .cmd文件中不起作用

时间:2016-10-07 09:06:16

标签: batch-file winscp

我遇到了以下问题。我无法通过.BAT文件或A脚本自动使用以下代码:

"C:\Program Files\WinSCP\WinSCP.com" 
/log="C:\Users\PC0102\Desktop\cz2\WinSCP.log" /ini=nul /loglevel=2* ^ 
/command ^ 
option batch continue 
option confirm on  
open ftps://PRC:*@datatransfer.cz.nl     
CD Incassopartner2CZ 
CD Input 
put C:\Users\PC0102\Desktop\cz2\Bestanden\ /prc/Incassopartner2CZ/Input 
exit  

当我将此代码放入我的cmd时,它的工作非常完美。但是当我尝试从它创建.bat文件时,它只启动winscp并且不执行任何其他操作。我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

试试这个:

start "C:\Program Files\WinSCP\WinSCP.com" 
/log="C:\Users\PC0102\Desktop\cz2\WinSCP.log" /ini=nul /loglevel=2* ^ 
/command ^ 
option batch continue 
option confirm on  
open ftps://PRC:*@datatransfer.cz.nl     
CD Incassopartner2CZ 
CD Input 
put C:\Users\PC0102\Desktop\cz2\Bestanden\ /prc/Incassopartner2CZ/Input 
exit  

我认为问题是脚本在运行其他任何内容之前等待winscp退出。添加start命令将在winscp启动后立即执行下一行,这可能就是您想要的。

你可能错了。 WinSCP具有脚本模式,这是您可能想要使用的模式。请在此处查看:https://winscp.net/eng/docs/scripting。这样,你可能想把它放在一个单独的文件中,假设 upload.txt

/log="C:\Users\PC0102\Desktop\cz2\WinSCP.log" /ini=nul /loglevel=2* ^ 
/command ^ 
option batch continue 
option confirm on  
open ftps://PRC:*@datatransfer.cz.nl     
CD Incassopartner2CZ 
CD Input 
put C:\Users\PC0102\Desktop\cz2\Bestanden\ /prc/Incassopartner2CZ/Input 
exit 

然后运行:

winscp.com /script="upload.txt"