Windows

Windows Server 2008 - 從 .CMD 呼叫 FTP - 將參數傳遞給 FTP 文件?

  • December 30, 2014

我從 .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% %date:~4,2% %date:~7,2%.7z(或 web-daily_yyyy_MM_dd.7z)。

如果可能的話,我想將此日期作為參數傳遞。

我同意,這會以北美格式完成。可能有一種方法可以使其通用,但如果伺服器不會改變,那可能並不重要。

@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

以下是如何有效地將日期參數傳遞給 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 伺服器。

引用自:https://serverfault.com/questions/114993