2013-01-16 4 views
0

Мне нужно загрузить zip-файлы на FTP-сервер.Вызовите файл .bat в другом .bat с параметрами

Мой первый файл выглядит следующим образом:

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 (как вызвать этот файл в основном байте) или как просто загрузить их все сразу.

ответ

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} 
) 
0

Добавьте третью строку в первом файле:

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

Что касается перемещения по списку архивных файлов, сделайте руководство говорит (CMD /?):

FOR/R [[drive:] path]% variable IN (set) Команда DO [command-parameters]

Прогулка по дереву каталогов, установленному на пути [drive:], выполняющему инструкцию FOR в каждой директории дерева. Если ни один каталог не указан после/R, то текущий каталог принимает значение . Если установлено только один период (.), То он просто перечислит дерево каталогов.

Итак, храните ваши файлы резервных копий в чистом виде, а затем используйте for /r, чтобы просмотреть список, называя ваш второй файл bat в цикле.

Смежные вопросы