0

FTPサーバーにzipファイルをアップロードする必要があります。

私の最初のファイルは次のようになります。

sqlcmd -S .\SQLEXPRESS -U <user> -P <pass> -i c:\sql_script.sql
7za a -tzip %~dp0\Archive\Backup_daily_full.zip *.bak -v100m

単一のファイルをアップロードするために、私はこれを作成しました:

@echo off
echo user {user}> ftpcmd.dat
echo {pass}>> ftpcmd.dat
echo put %1>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat  {server}

バックアップ後にいくつの.zipファイルがあり、それらすべてをFTPでアップロードする方法(メインの.bat内でそのファイルを呼び出す方法)または単純に一度にすべてをアップロードする方法がわかりません。

4

2 に答える 2

0

最初のファイルに3行目を追加します。

cmd /c <your-ftp-script>.bat <zip-file-name>

zipファイルのリストをトラバースする場合は、マニュアルに記載されているとおりに実行してください(cmd /?):

FOR / R [[drive:] path]%variable IN(set)DO command [command-parameters]

[drive:] pathをルートとするディレクトリツリーをウォークし、ツリーの各ディレクトリでFORステートメントを実行します。/ Rの後にディレクトリ指定が指定されていない場合は、現在のディレクトリが想定されます。setが単一のピリオド(。)文字である場合、ディレクトリツリーを列挙するだけです。

したがって、zip形式のバックアップファイルをクリーンな場所に保存してから、を使用for /rしてリストを確認し、2番目のbatファイルをループで呼び出します。

于 2013-01-16T13:31:58.230 に答える
0

フォルダ内のすべての.zipファイルをループして、それぞれに対してftpスクリプトを実行できます。

@echo off
for /r %~dp0\Archive %%a in (*.zip) do (
echo user {user}> ftpcmd.dat
echo {pass}>> ftpcmd.dat
echo put %%a>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat  {server}
)
于 2013-01-16T14:15:05.490 に答える