Мне нужно написать один скрипт dos, который сначала отправит FTP с удаленного сервера в мой локальный каталог, а затем скопирует эти файлы в другую папку на локальном компьютере.Причина второго шага заключается в том, что путь к папке назначения зависит от того, является ли системный процессор 32-разрядным или 64-разрядным.
У меня есть два отдельных сценария, которые сейчас работают нормально.Но когда я объединяю их в один скрипт, происходит сбой в командной строке ftp.Вот сценарий, который я использую -
@echo off
:MAIN
SETLOCAL ENABLEDELAYEDEXPANSION
set winver=%PROCESSOR_ARCHITECTURE%
rmdir c:\batch\temp
mkdir c:\batch\temp
goto :ftpbegin
:ftpbegin
@ftp -i -s:"%~f0"&GOTO:EOF
open x.y.z.a
<userid>
<password>
!:-----FTP commands here -----
lcd C:\batch\temp
cd CGServices\Uploads
binary
mget "*.psl"
mget "*.PST"
mget "*.psy"
get abc.ini
get def.pmd
disconnect
bye
:eof
exit /b
:findwin
if %winver% ==x86 (goto :copywin32) else (goto :copywin64)
:copywin32
echo "inside copywin32"
<do the copy files here>
:copywin64
<do copy files here>
exit /b 0
Тем не менее, сценарий ftp, кажется, вызывает разрыв при выполнении второй части моей программы, так как он вызывает программу в цикле в приглашении ftp.Таким образом, ни одна из команд dos не транслируется в режиме FTP.
Любая помощь в достижении этого в одном скрипте за это очень ценится.
спасибо, Сандерс