나는 현재 서버 FTP'ing
에서 유닉스 박스로 파일을 보내고 있습니다 windows
. 스크립트의 다음 섹션을 변경하고 ftp 프로세스를 sftp
.
@echo off
echo user %user%> ftpcmd.dat
echo %password%>> ftpcmd.dat
echo bin>> ftpcmd.dat
echo put %filetobeuploaded% %filepath%%File%>> ftpcmd.dat
echo quit>> ftpcmd.dat
ftp -n -s:ftpcmd.dat %host%
del ftpcmd.dat
:END
PSFTP.EXE
내 Windows 디렉토리에 설치 했습니다 . 이를 사용하면 SFTP로 파일을 보낼 수 있습니까?
ftp -n -s:ftpcmd.dat %host%
라인을 SFTP로 교체하려면 어떻게 해야 합니까 ? 이런 일을 할 수 있다는 것을 이해합니다....
CALL PSFTP.EXE [email protected] ....
아는 사람이 있으면 완료하도록 도와주세요. 내가 어떤 주장을 펼칠 것인가? 사용자, 비밀번호, 원격 디렉터리, 호스트 세부 정보는 속성 파일에 보관됩니다. 비밀번호 대신 키를 사용하려고 합니다. 기존 ftpcmd.dat 인수를 psftp에 전달할 수 있습니까?
답변1
WinSCP를 사용할 수도 있습니다. SFTP와 스크립팅을 모두 지원합니다.
참조Windows FTP 스크립트를 WinSCP SFTP 스크립트로 변환하기 위한 가이드.
스크립트는 다음과 같습니다:
open sftp://%user%:%password%@%host%
put -transfer=binary %filetobeuploaded% %filepath%%File%
exit
다음과 같이 스크립트를 실행할 수 있습니다(에 저장된 경우 script.txt
).
winscp.com /script=script.txt
( 와 달리 ftp.exe
) 환경 변수는 WinSCP 스크립트에서도 확인됩니다.
개인 키 파일을 사용하려면 다음을 사용하십시오.
open sftp://%user%@%host% -privatekey=path\key.ppk
(저는 WinSCP의 저자입니다)