在winscp中执行批处理文件时出现问题

时间:2011-03-21 20:02:48

标签: windows batch-file winscp

我是Winscp的新手,我在执行批处理文件时遇到问题。

场景是这样的:

我有一个批处理文件A,两个文件夹(向上B和向下文件夹C),向上文件夹D中的一些文本文件,一个文本文件E(与D中的文件不同)和一个ppk文件F.所有这些东西只在一个文件夹中。

批处理文件A有一个包含文本的脚本(脚本如下所示)。如果该文本内容为真(意味着该文本(文本内容与E相关,即执行文本文件E),则只有文件夹B中的文件移动到文件夹C下。

批处理文件A中的脚本是:

C:\somefolder\WinSCP3.exe /console /script=E.txt /log=session.log
if errorlevel 1 goto error
xcopy C:\somefolder\up\*.*  C:\somefolder\down\  /y
del  C:\somefolder\up\*.*   /Q
:error
echo Upload failed, keeping local files

文本文件E中的内容为:

option batch abort
option confirm off
open @test.com 
change remote directory
cd \somedirectory
option transfer binary
put C:\somefolder\up\*.*
close
exit

我不知道为什么up文件夹中的文件没有移动到down文件夹。

请让我知道问题究竟在哪里以及如何解决这个问题....

2 个答案:

答案 0 :(得分:2)

感谢Andriy M.他的评论澄清了我的困惑并给出了正确的答案。

这是正确的语法。

C:\somefolder\WinSCP3.exe /console /script=E.txt /log=session.log

xcopy C:\somefolder\up\*.*  C:\somefolder\down\  /y
del  C:\somefolder\up\*.*   /Q

if errorlevel 1 goto error

:error
echo Upload failed, keeping local files

文本文件E.txt中的内容是:

option batch abort
option confirm off
open @test.com 
change remote directory
cd \somedirectory
option transfer binary
put C:\somefolder\up\*.*
close
exit

答案 1 :(得分:0)

Dunno如果还有人还在读这个帖子.. 但我所知道的是“put”命令将文件从本地目录上传到远程目录。 TS希望“将文件从远程目录下载到本地目录”,所以我认为正确的命令是“获取”。

干杯, 沉