我正在尝试使用WinSCP.com
自动执行文件传输,.cmd
有一个包含命令和参数的shell。
但是,自动脚本将从.bat
或C:
CD "C:\Program Files (x86)\WinSCP"
CALL WinSCP.com
REM This opens a
REM winscp>
REM shell or process
REM now theoretically I should be able to run the WinSCP commands
REM but they are not being piped into the winscp shell
open mypassword | myuser@myserver
REM the last command is not being executed.
REM Instead the script hangs on the newly opened WinSCP shell.
REM There are other winscp commands such as put <file> <path>
文件运行。
因此,这是我的自动化脚本:
open mypassword | myuser@myserver
我的问题是如何告诉WinSCP进程从批处理脚本文件中获取命令winscp
?
哦,额外:我想最终杀死<a:Response>
<a:Witness>
<a:WitnessClass>
<a:Witness>
<a:SomeProperty>SomeValue</a:CITY>
<a:Other>whatever</a:Other>
</a:Witness>
</a:WitnessClass>
</a:Witness>
</a:Response>
进程\ shell。我在这里不知道正确的术语。是流程还是shell?
答案 0 :(得分:1)
如果要在批处理文件中使用WinSCP命令(而不是使用/script
开关引用的单独脚本文件中),则可以使用WinSCP /command
switch。
winscp.com /ini=nul /command ^
"open sftp://myuser:mypassword@myserver/" ^
"..."
"exit"
您可以WinSCP GUI generate a batch file template(如上所述)。
虽然建议使用/command
开关,但实际要求的是这样的:
(
echo open sftp://myuser@myserver/
echo mypassword
...
echo exit
) | winscp.com
请注意,与/commands
相比,某些情况下的行为会有所不同,因为当标准输入上提供命令时,WinSCP会假定使用交互式(人工)。这就是您应该使用/commands
。