我正在用一个PowerShell脚本进行测试(在这个脚本中,我使用WinSCP测试复制和粘贴在FTP上),并且并行地配置以下代码,以便在任何put任务发生错误时发送邮件,get.
这是代码
@echo off
set WINSCP_LOG=C:\Users\Administrator\Desktop\WinSCP.log
rem Run WinSCP script
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log=%WINSCP_LOG% /ini=nul ^
/command ^
通过使用以下代码,我可以在CMD窗口中从SFTP下载文件:
WinSCP.com
# Connect to the host and login using password
open user:pw@address
# get all the files in the remote directory and download them to a specific local directory
lcd C:\Users\xx\Desktop
get *.xlsx
# Close and terminate the session
exit
我在网上搜索,发现我可以将这些代码放在bat文件中
我编写了一个WinSCP脚本,它可以将本地文件上传到SFTP站点。脚本保存到.txt中:
WinSCP.com
open sftp://username:password@address
cd /export/home/Desktop/Temp
put C:\Users\Dekstop\JPMC\a.xlsx
close
exit
然后,我查看并将这些代码写入Excel:
Sub RunWinScp()
Call Shell("C:\Program Files (x86)\WinSCP\WinSCP.com /ini=nul/script=C:\Users\Desktop\WinSCP
我正在尝试创建一个vbscript来连接到使用putty的FTP服务器。我遇到的问题是密码有一个;和“in it. I have to The password in”,并且还使用\来转义字符
例如:
-pw 3this;IsMyPwd“是我想要使用的
已尝试“3this;IsMyPwd”-> putty无法连接到远程服务器
-pw 3此;IsMyPwd“-> putty不连接到远程服务器
3此\;IsMyPwd\“-> putty未连接到远程服务器
3this;IsMyPwd\“-> putty连接到远程服务器,但要求输入密码或挂起
-pw 3this;IsMyPwd
我试图在一行中运行多个命令。密码在下面。
WinSCP.com
open user:pw@address
lcd C:\Users\xx\Desktop
get *.xlsx
exit
如果我一个接一个地运行,它就能工作了。但是,如果我想使用一行将它们全部运行在一起,那么无论我使用的是;还是&,都会失败。
例如,如果我运行WinSCP.com & open user:pw@address,将只执行第一部分。
WinSCP.com; open user:pw@address也不起作用。
如何使用一行执行它们?
谢谢
我试图使用cmd文件运行一个批处理文件,将我的文件上传到我的网站目录。批处理文件如下所示:
open ip address
username
password
option confirm off
cd \public_html\wp-content\uploads\2014\07
put "C:\Users\a\Documents\pdf\Contact Info.pdf"
quit
cmd文件如下所示:
ftp -s:c:\Users\a\Documents\upload.bat
当我运行cmd文件时,我在命令
import os
WINSCP = r'C:\Program Files (x86)\WinSCP\WinSCP.com' # the path of winscp in my system
command = "winscp /console /script=SFTP.txt /parameter /opt/outgo/aftp/20161222.zip.pgp C:\Users\Abh\Desktop\\"
stdin, stdout = os.popen2(WINSCP + command)
我正在尝试使用os模块的popen函数来执行这个winscp
我需要将一个文件从Windows2003服务器复制到一个WebDAV文件夹(如果有关系的话,可以在同一台服务器上)。此操作将通过通过计划任务执行的批处理脚本执行。我已经在服务器上启用了WebClient服务。
到目前为止,我已经确定我可以这样做:
net use x: http://host/path
copy c:\path\myfile.txt x:
net use x: /delete
1)是否有比创建临时映射驱动器更简单的方法?当没有用户登录时,它会通过批处理文件工作吗?
2)对于在服务器上启用WebClient服务,我应该知道什么吗?以前,它是禁用的,我假设它是默认的。
我正在使用WinSCP .NET程序集。当我调用Session.PutFiles方法时,它会发送以下一系列命令:
TYPE A
PASV
MLSD
TYPE A
PASV
STOR myfile
有没有办法告诉它不要发送MLSD?(MLSD请求发回远程目录的内容。)至少,我不需要这些信息,所以它只是在浪费带宽。我甚至不知道如何访问它--也许WinSCP正在内部使用它?然而,更让我担心的是,我得到了关于我应该发送的一系列FTP命令的非常具体的规范,其中包括几个非标准命令,显然另一端的站点有一个自定义的FTP服务器。所以我不想要一个额外的命令把事情搞砸。
我是WinSCP的新手,正在尝试创建一个脚本文件,该文件最终将与SSIS一起用于从SFTP站点下载文件。WinSCP包含的许多文献都解释了文件下载或上传部分。目前,我只想先创建一个脚本来测试连接,然后从那里开始构建。
到目前为止,我将连接保存在WinSCP中,并具有以下内容。下面的代码似乎根本不起作用,我不确定还能去哪里,因为我还在阅读WinSCP的脚本。有没有办法或者有人能给我指个方向,看看我是否真的是通过脚本连接的?
option batch on
option confirm off
open username@address
exit
我正在尝试从SFTP服务器下载文件到我的本地计算机,并使用WinSCP创建了一个按日期划分的文件夹。但它正在下降到lcd点。
这是我的剧本。
@echo off
set datetime=%date:~7,2%%date:~4,2%%date:~10,4%
set "mydir=D:\Test\%datetime%\"
mkdir "%mydir%"
echo My Directory is created "%mydir%"
"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
/log