我需要编写一个单独的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命令被转换。
有关如何在单个脚本中实现此操作的任何帮助,请致以高度赞赏。
感谢, 桑德斯