Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何从FTP下载今天和昨天更新的数据?_Windows_Batch File_Ftp_Winscp - Fatal编程技术网

Windows 如何从FTP下载今天和昨天更新的数据?

Windows 如何从FTP下载今天和昨天更新的数据?,windows,batch-file,ftp,winscp,Windows,Batch File,Ftp,Winscp,我想下载更新的数据从我的FTP按名称文件与变量昨天和今天,结构文件如下 每日(城市)uuuyyymmdd.xlsx 我试过这个密码 daily.bat winscp.exe /console /script=daily.txt daily.txt ::: Begin set date for /f "tokens=1-4 delims=/-. " %%i in ('date /t') do (call :set_date %%i %%j %%k %%l) goto :end_set_date

我想下载更新的数据从我的FTP按名称文件与变量昨天和今天,结构文件如下

每日(城市)uuuyyymmdd.xlsx

我试过这个密码

daily.bat

winscp.exe /console /script=daily.txt
daily.txt

::: Begin set date

for /f "tokens=1-4 delims=/-. " %%i in ('date /t') do (call :set_date %%i %%j %%k %%l)
goto :end_set_date

:set_date
if "%1:~0,1%" gtr "9" shift
for /f "skip=1 tokens=2-4 delims=(-)" %%m in ('echo,^|date') do (set %%m=%1&set %%n=%2&set %%o=%3)
goto :eof

:end_set_date
::: End set date

set /a today=%dd%
set /a yesterday=%dd%-1

@echo off
open Reg_8@192.168.8.1  
get -neweronly "/Reg8/Kota/2016/Daily/Daily_Makassar_%yy%%mm%%today%.xlsx" "D:\FTP\Makassar\2016\daily"
get -neweronly "/Reg8/Kota/2016/Daily/Daily_Makassar_%yy%%mm%%yesterday%.xlsx" "D:\FTP\Makassar\2016\daily"
pause

如果我没有运行此脚本…

您将在单个文件中组合Windows和WinSCP命令。那是不可能的。从阅读文章开始

您的脚本太复杂了,因为您没有使用


一种简单的方法(
daily.txt
):

(只有这样,才能从
daily.txt中丢弃所有其他代码)

%TIMESTAMP#yyyymmdd%
将解析为
20161006

%TIMESTAMP-1D#yyyymmdd%
将解析为
20161005
(从2016-10-06起)

为此,您需要WinSCP5.9及更新版本


通常,您应该从批处理文件调用,而不是从
winscp.exe/console
调用

open ftp://user:mypassword@ftp.example.com/
get -neweronly "/Reg8/Kota/2016/Daily/Daily_Makassar_%TIMESTAMP#yyyymmdd%.xlsx" "D:\FTP\Makassar\2016\daily"
get -neweronly "/Reg8/Kota/2016/Daily/Daily_Makassar_%TIMESTAMP-1D#yyyymmdd%.xlsx" "D:\FTP\Makassar\2016\daily"