Автор: JohnRD
Дата сообщения: 04.06.2008 17:04
граждане помогите плиз разобрать папку с файлами, чтобы отправить каждый с нужными параметрами на фтп
есть батник котрый запускается по евентам фтп сервера C:\PROGRA~1\CesarFTP\
в нем куча логинов, люди кладут под своми логинами, в свои папки, файлы xml или архивы с xml , далее архивы распаковываются и уже xml выкладываются на другой фтп с аналогичной структурой папок и после этого загружаются в систему, все это логируется.
Код: @Echo off
REM %1 - FILEDIR
REM %2 - FILENAME
REM %3 - USERNAME
REM %4 - FILEEXT
set t=%time: =0%
set s=%t:,=%
set s1=%s::=%
set s2=%s1::=%
set d=KONscr%s2%
set d1=%date:~-4%%date:~3,2%%date:~0,2%
set l=D:\FTP\KONTRAGENTY\log\%d1%_%s1%.log
echo %1>%l%
echo %2>>%l%
echo %3>>%l%
echo %4>>%l%
rem if -%4==- goto parmis4
if -%3==- goto parmis3
if -%2==- goto parmis2
if -%1==- goto parmis1
SET q=%1
set q1=%q:~6%
set q2=%q1:\=/%/VHODYASCHIE
set q3=/usr/IS-U%q2%
if /I %4- NEQ RAR- goto xml
echo Found RAR>>%l%
UnRAR.exe t %1\%2 >>%l%
if errorlevel 1 goto end
mkdir %1\%s2%
UnRAR.exe e -o- -p- -y %1\%2 %1\%s2%
if errorlevel 1 goto end
UnRAR.exe lb %1\%2 >>%l%
echo user>%d%
echo ripa_uo sap>>%d%
echo cd %q2%>>%d%
for %%p in (%1\%s2%\*.xml) do echo put %%p>>%d%
echo bye>>%d%
ftp -n -s:%d% 10.18.26.32>>%l%
del %1\%2>>%l%
del %d%>>%l%
for %%p in (%1\%s2%\*.xml) do C:\PROGRA~1\CesarFTP\TestConsoleRFC.exe %3 %q3% %%~nxp >>%l%
rmdir /S /Q %1\%s2%
goto end
:xml
if /I %4- NEQ XML- goto zip
echo Found XML! >>%l%
echo user>%d%
echo ripa_uo sap>>%d%
echo cd %q2%>>%d%
echo put %1\%2>>%d%
echo bye>>%d%
if not exist %1\%2 goto fmis
ftp -n -s:%d% 10.18.26.32>>%l%
del %1\%2
del %d%
C:\PROGRA~1\CesarFTP\TestConsoleRFC.exe %3 %q3% %2 >>%l%
goto end
:zip
if /I %4- NEQ ZIP- goto UnnForm
echo Found ZIP!>>%l%
7za.exe t -bd %1\%2 >>%l%
if errorlevel 1 goto end
mkdir %1\%s2%
7za.exe e -aoa -y -bd %1\%2 -o%1\%s2%
if errorlevel 1 goto end
7za.exe l -bd %1\%2 >>%l%
echo user>%d%
echo ripa_uo sap>>%d%
echo cd %q2%>>%d%
for %%p in (%1\%s2%\*.xml) do echo put %%p>>%d%
echo bye>>%d%
ftp -n -s:%d% 10.18.26.32>>%l%
del %1\%2>>%l%
del %d%>>%l%
for %%p in (%1\%s2%\*.xml) do C:\PROGRA~1\CesarFTP\TestConsoleRFC.exe %3 %q3% %%~nxp >>%l%
rmdir /S /Q %1\%s2%
goto end
:UnnForm
echo ERROR: Unknown File Format!>> %l%
goto end
:parmis1
Echo Error: Parameter "filedir" missing!>>%l%
goto end
:parmis2
Echo Error: Parameter "filename" missing!>>%l%
goto end
:parmis3
Echo Error: Parameter "username" missing!>>%l%
goto end
:parmis4
Echo Error: Parameter "fileext" missing!>>%l%
goto end
:fmis
Echo Error: File %1\%2 does not exist! >>%l%
del %d%
goto end
:end