2011-03-21 126 views
0

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

的情况是这样的:

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

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

而且在批处理文件的脚本是:

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 

我不知道为什么,从上文件夹中的文件没有移动到文件夹下。

请让我知道哪儿的问题是,如何解决这一问题....

+1

批处理文件,似乎没有什么不寻常我除了开行:'C:\ somefolder = E.txt /日志= C:\ somefolder \ session.log'。这是Winscp特定的东西吗?因为如果不是,这条线似乎有问题,而且很可能是错误的。它应该做什么? (或者它做什么*) – 2011-03-22 00:31:36

+0

感谢您给我一些评论......实际上C:\ somefolder = E.txt意味着进程将进入该文件并尝试执行该文本文件E.并且/ log = C:\ somefolder \ session.log这个东西会创建一个会话日志。 – Shahsra 2011-03-22 16:12:02

+0

我得到了一些改进...但仍然不复制文本文件D从up文件夹到down文件夹。我要编辑问题以提高水平... – Shahsra 2011-03-22 16:14:53

回答

2

感谢舍甫琴科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 
0

说不上来,如果有人还在读此线程或不.. 但我知道什么是“放”命令从本地上传文件目录到远程目录。 TS想要“将文件从远程目录下载到本地目录”,所以我认为正确的命令是“get”。

干杯, 沉