Windows Server 2008-从 .CMD 调用 FTP-将参数传递给 FTP 文件?

Windows Server 2008-从 .CMD 调用 FTP-将参数传递给 FTP 文件?

我从 .cmd 文件调用以下命令:

 ftp -d -s:D:\backup\web-daily.txt

web-daily.txt 文件是一个 ftp 输入文件,其内容与此类似:

open <server>
<login>
<password>
put d:\backup\web-daily.7z web-daily.7z
quit

我需要能够将当前日期传递给 ftp 输入文件。这是否可以在不执行实际修改 web-daily.txt 的程序的情况下实现?这是因为 web-daily.7z 实际上是 web-daily_%date:~10,4%%日期:~4,2%%date:~7,2%.7z(或 web-daily_yyyy_MM_dd.7z)。

如果可能的话,我想将这个日期作为参数传递。

答案1

我同意,北美格式可以做到这一点。也许有办法让它具有通用性,但如果服务器不变,这可能并不重要。

@echo off
setlocal

@echo off > %0.ftp
>> %0.ftp echo open <server>
>> %0.ftp echo <user>
>> %0.ftp echo <pw>
>> %0.ftp echo put d:\backup\web-daily_%date:~10,4%_%date:~4,2%_%date:~7,2%.7z web-daily_%date:~10,4%_%date:~4,2%_%date:~7,2%.7z
>> %0.ftp echo quit

ftp -s:%0.ftp

答案2

以下是如何有效地将日期参数传递给 Windows 上的 FTP 输入文件。

@echo off
setlocal

@echo off > %0.ftp
>> %0.ftp echo open <server>
>> %0.ftp echo <user>
>> %0.ftp echo <pw>
>> %0.ftp echo put d:\backup\web-daily_%date:~10,4%_%date:~4,2%_%date:~7,2%.7z web-daily_%date:~10,4%_%date:~4,2%_%date:~7,2%.7z
>> %0.ftp echo quit

ftp -s:%0.ftp

这会将 web-daily_yyyy_mm_dd.7z 发送到 ftp 服务器。

答案3

Rem: This worked for me

@echo off
setlocal

@echo off > %0.ftp
>> %0.ftp echo open **server**
>> %0.ftp echo **userid**
>> %0.ftp echo **password**
>> %0.ftp hash
>> %0.ftp asc
>> %0.ftp echo lcd c:\program\data\ (your local path)
>> %0.ftp echo cd fam/user/tcs/in/hold (your ftp path)
>> %0.ftp echo get 01000%date:~10,4%%date:~4,2%%date:~7,2%01.txt
>> %0.ftp echo quit

ftp -s:%0.ftp
del %0.ftp

rem below line gets a file with today's date from the ftp server
01000%date:~10,4%%date:~4,2%%date:~7,2%01.txt

相关内容