command-line - 文件说它在日志中下载,但不在本地目录中
问题描述
我正在使用 WinSCP 自动从 FTP 服务器获取。日志显示文件已下载到我指定的目录,但不在目录中。
这是调度程序参数。
/log="C:\TEST\Automation\WinSCP.log" /ini=nul /command "open
sftp://HIDDEN:NOTTHATDUMB@ftplocation.com/ -rawsettings TryAgent=0
AuthGSSAPI=0" "put C:\TEST\Automation\*.pgp -nopreservetime -nopermissions"
"get /Inbox/* C:\TEST\Automation\NewFolder" "exit"
日志看起来好像文件已下载但找不到文件。
日志输出:
> 2018-05-23 12:07:50.077 Script: get /Inbox/* C:\TEST\Automation\NewFolder
. 2018-05-23 12:07:50.077 Listing directory "/Inbox".
> 2018-05-23 12:07:50.077 Type: SSH_FXP_OPENDIR, Size: 15, Number: 523
< 2018-05-23 12:07:50.155 Type: SSH_FXP_HANDLE, Size: 10, Number: 523
> 2018-05-23 12:07:50.155 Type: SSH_FXP_READDIR, Size: 10, Number: 780
< 2018-05-23 12:07:50.233 Type: SSH_FXP_NAME, Size: 164, Number: 780
> 2018-05-23 12:07:50.233 Type: SSH_FXP_READDIR, Size: 10, Number: 1036
< 2018-05-23 12:07:50.280 Type: SSH_FXP_STATUS, Size: 50, Number: 1036
< 2018-05-23 12:07:50.280 Status code: 1
> 2018-05-23 12:07:50.280 Type: SSH_FXP_CLOSE, Size: 10, Number: 1284
. 2018-05-23 12:07:50.280 FILENAME.txt;-;163487;2018-05-23T16:06:50.000Z;3;"200" [200];"100" [100];rw-------;0
. 2018-05-23 12:07:50.280 ..;D;0;1899-12-30T05:00:00.000Z;0;"" [0];"" [0];---------;0
. 2018-05-23 12:07:50.280 Copying 1 files/directories to local directory "C:\Test\Automation\" - total size: 163,487
. 2018-05-23 12:07:50.280 PrTime: Yes; PrRO: No; Rght: rw-r--r--; PrR: No (No); FnCs: N; RIC: 0100; Resume: S (102400); CalcS: No; Mask: NewFolder
. 2018-05-23 12:07:50.280 TM: B; ClAr: No; RemEOF: No; RemBOM: No; CPS: 0; NewerOnly: No; InclM: ; ResumeL: 0
. 2018-05-23 12:07:50.280 AscM: *.*html; *.htm; *.txt; *.php; *.php3; *.cgi; *.c; *.cpp; *.h; *.pas; *.bas; *.tex; *.pl; *.js; .htaccess; *.xtml; *.css; *.cfg; *.ini; *.sh; *.xml
. 2018-05-23 12:07:50.280 File: '/Inbox/FILENAME.txt' [2018-05-23T16:06:50.000Z] [163487]
. 2018-05-23 12:07:50.280 Copying "/Inbox/FILENAME.txt" to local directory started.
. 2018-05-23 12:07:50.280 Binary transfer mode selected.
. 2018-05-23 12:07:50.280 Checking existence of partially transferred file.
. 2018-05-23 12:07:50.280 Opening remote file.
> 2018-05-23 12:07:50.280 Type: SSH_FXP_OPEN, Size: 54, Number: 1539
< 2018-05-23 12:07:50.327 Type: SSH_FXP_STATUS, Size: 40, Number: 1284
. 2018-05-23 12:07:50.327 Discarding reserved response
< 2018-05-23 12:07:50.421 Type: SSH_FXP_HANDLE, Size: 10, Number: 1539
> 2018-05-23 12:07:50.421 Type: SSH_FXP_FSTAT, Size: 10, Number: 1800
< 2018-05-23 12:07:50.515 Type: SSH_FXP_ATTRS, Size: 37, Number: 1800
. 2018-05-23 12:07:50.515 Confirming overwriting of file.
> 2018-05-23 12:07:50.515 Type: SSH_FXP_READ, Size: 22, Number: 2053
< 2018-05-23 12:07:50.890 Status code: 1
. 2018-05-23 12:07:50.890 15 skipped SSH_FXP_WRITE, SSH_FXP_READ, SSH_FXP_DATA and SSH_FXP_STATUS packets.
> 2018-05-23 12:07:50.890 Type: SSH_FXP_CLOSE, Size: 10, Number: 4612
< 2018-05-23 12:07:50.890 Type: SSH_FXP_STATUS, Size: 17, Number: 3589
< 2018-05-23 12:07:50.890 Type: SSH_FXP_STATUS, Size: 17, Number: 3845
< 2018-05-23 12:07:50.921 Type: SSH_FXP_STATUS, Size: 17, Number: 4101
< 2018-05-23 12:07:50.921 Type: SSH_FXP_STATUS, Size: 17, Number: 4357
. 2018-05-23 12:07:50.921 Preserving timestamp [2018-05-23T16:06:50.000Z]
. 2018-05-23 12:07:50.937 Transfer done: '/Inbox/FILENAME.txt' => 'C:\Test\Automation\NewFolder' [163487]
. 2018-05-23 12:07:50.937 Copying finished: Transferred: 163,487, Elapsed: 0:00:00, CPS: 493,279/s
> 2018-05-23 12:07:50.937 Script: exit
. 2018-05-23 12:07:50.937 Script: Exit code: 0
. 2018-05-23 12:07:50.937 Closing connection.
. 2018-05-23 12:07:50.937 Sending special code: 12
. 2018-05-23 12:07:50.937 Sent EOF message
这行日志告诉我它已下载,但是导航到保存位置会显示一个空文件夹。
. 2018-05-23 12:07:50.937 Transfer done: '/Inbox/FILENAME.txt' => 'C:\Test\Automation\NewFolder' [163487]
有任何想法吗?
解决方案
您的get
命令语法说:将所有文件下载/Inbox
到本地文件夹C:\Test\Automation
并将它们保存到 file NewFolder
。是什么有效地使所有文件相互覆盖。假设该NewFolder
文件夹实际上不存在。如果它存在,下载将失败并出现“不是文件”错误。
您也肯定会使用一些相当旧的 WinSCP 版本。正如最新版本的 WinSCP 会警告您,您可能做错了什么:
您确定要将多个文件传输到目录“C:\Test\Automation\”中的单个文件“NewFolder”吗?
这些文件将相互覆盖。
如果您确实想将所有文件传输到目录“C:\Test\Automation\NewFolder\”,并保留它们的名称,请确保使用斜杠终止路径。
最后一个参数指定目标本地目录和可选的操作掩码以存储不同名称的文件。目标目录必须以反斜杠结尾。
解决方案:
- 添加黑斜线;
- 创建
NewFolder
文件夹; - 您还应该升级到最新版本的 WinSCP。
推荐阅读
- scala - 如何在 main.scala.html 模板页面中检索当前 url
- python - 如何复制数据框中的条目
- arrays - 如何为文档的某些部分设置样式
- sql-server - 删除链接到自身的链接服务器
- regex - 为每个模式匹配打印 1 次出现
- python - 不使用 Pandas 对多列进行分组和求和
- winapi - 如何找出winapi的主要鼠标按钮?
- c# - 如何在 C# 中监控 MySQL 的最后一行
- java - 我找不到 com.mysql.jdbc.Driver 类(我已使用 Eclipse 构建路径将 mysql-connector-java-5.1.47.jar 添加到我的路径中)
- here-api - Here Maps - *保持*调整大小的中心位置