먼저 원격 서버에서 로컬 디렉토리로 FTP를 보내고이 파일을 로컬 시스템의 다른 폴더에 복사합니다. . 두 번째 단계의 이유는 대상 폴더 경로가 32 비트 또는 64 비트 시스템 프로세서인지 여부에 따라 달라지기 때문입니다.DOS 스크립트 tp 원격 서버에서 FTP를 사용하여 로컬 폴더에 파일 복사
저는 두 개의 별도 스크립트가 있습니다. 이제는 제대로 작동합니다. 그러나 하나의 스크립트에 이들을 조합 할 때 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 프롬프트에서 변환되지 않습니다.
이 작업을 단일 스크립트에서 수행하는 방법에 대한 도움을 주시면 매우 감사하겠습니다.
덕분에, 샌더스