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

Bri*_*ter 5 windows windows-server-2008 ftp batch-file windows-command-prompt

我从 .cmd 文件调用以下内容:

 ftp -d -s:D:\backup\web-daily.txt
Run Code Online (Sandbox Code Playgroud)

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

open <server>
<login>
<password>
put d:\backup\web-daily.7z web-daily.7z
quit
Run Code Online (Sandbox Code Playgroud)

我需要能够将当前日期传递给 ftp 输入文件。这是否可行而无需执行实际修改 web-daily.txt 的程序?这是因为 web-daily.7z 实际上是 web-daily_%date:~10,4% %date:~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
Run Code Online (Sandbox Code Playgroud)