最初にリモートサーバーからローカルディレクトリにFTPする単一のdosスクリプトを作成し、これらのファイルをローカルマシン内の別のフォルダにコピーする必要があります。 2番目の手順の背後にある理由は、宛先フォルダーのパスが、32ビットまたは64ビットのシステムプロセッサーかどうかに基づいているためです。DOSスクリプトtpリモートサーバーからFTPをローカルフォルダにコピーする
私は現在、正常に動作している2つの別々のスクリプトを持っています。しかし、それらを1つのスクリプトにまとめると、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プロンプトでのループでプログラムを呼び出しているので、私のプログラムの2番目の部分を行っている間にブレークするようだ - ここで私が使用しているスクリプトです。したがって、dosコマンドのどれもFTPプロンプトで翻訳されません。
これを単一のスクリプトで実現する方法については、非常に感謝しています。
おかげで、 サンダース