我需要編寫一個單獨的dos腳本,它將首先從遠程服務器FTP到本地目錄,然後將這些文件複製到本地機器中的另一個文件夾。第二步背後的原因是目標文件夾路徑基於32位或64位的SYSTEM處理器。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提示循環程序造成中斷。所以,在FTP提示符下沒有任何dos命令被轉換。
有關如何在單個腳本中實現此操作的任何幫助,請致以高度讚賞。
感謝, 桑德斯