2017-11-09 4 views
0

BATCH 파일을 통해 FTP 서버에 파일 (.doc) 업로드를 자동화했습니다. 그런 다음 몇 분마다 작업 스케줄러를 통해 BATCH 파일을 실행합니다..BAT를 사용하여 FTP로 파일을 한 번만 업로드하십시오.

두 아래 배치 파일은 나를 위해 일을 :

upload.bat : - 위의 .bat 파일은 아래의 .bat 파일에 의해 호출되는

open ftp.servername.com 
username 
password 
cd FOLDER_NAME 
binary 
put D:\TEST\*.doc 
bye 

,

startUpload는 .bat : -

ftp -i -s:upload.bat 

이제 클라이언트는 업로드 된 파일을 FTP에서 제거합니다.

위의 배치 파일을 사용하면 파일이 반복적으로 업로드되고 있습니다.

따라서, 내 요구 사항은 각 .doc 파일을 한 번 파일이 성공적으로, 그것은 다른 폴더로 이동하는 FTP로 업로드,

가 (OR,

이 될 수있다, 한번만 업로드해야한다는 것입니다)

도와주세요.

감사합니다.

+1

주석처럼 : 배치 파일은 일괄 처리 명령을 포함하는 파일입니다. "upload.bat"파일은 배치 파일이 아니며 배치 파일이 .bat 인 경우 문제가되지 않습니다. 혼란을 피하고 그러한 파일의 확장자를 바꾸기를 권합니다. 예를 들면 :'upload.txt'. – Aacini

+0

그런 다음 배치 파일에서 ftp 명령 다음에 move 명령을 입력하십시오. – Squashman

답변

1

방향을 텍스트 파일에 에코 한 다음 -s?를 사용할 수 있습니까?

첨부 된 이미지처럼 enter image description here 그런 다음 다른 폴더로 복사하고 원본을 삭제 하시겠습니까?

@echo off 

echo open serveraddress >ftp.txt 
echo username>>ftp.txt 
echo password>>ftp.txt 
echo cd FOLDER_NAME>>ftp.txt 
echo binary >>ftp.txt 
echo "LCD D:\TEST\" 
echo mput *.doc>>ftp.txt 
echo bye>>ftp.txt 
ftp -s:ftp.txt 
del /f /q ftp.txt 
copy "D:\TEST\*.doc" "C:\otherFolderPath\" 
del /f /q "D:\TEST\*.doc" 
::NOTES: 
:: you can use ">>" to put the output of a command into a text file. 
:: you can use ">" to put the output of a command into a text file. ">" Will clear a file if it exists, and will create a new file if it does not. 

참고 : 당신이 시간을 기다린 후 스크립트의 끝이를 추가 할 수 있습니다 다시 실행하려면 : Timeout /t 60가 (즉, 60 초 대기, 또는 사용자가 키를 누를 때까지 계속)

+0

각 루프에 대해 하나씩 사용 하겠지만 ... 다른 사람에게는 어떻게 보이는지 알 수는 없습니다. –

+0

안녕하세요. 의견을 보내 주셔서 감사합니다. 나는 너 같은 xpert가 아니야. 내 코드를 업데이트 할 수 있으면 고맙겠습니다. 고맙습니다. – vicki

+0

저기 있네. –

관련 문제