2012-06-11 4 views
2

ftp 스크립트의 출력을 txt 파일로 리디렉션하려고합니다. 나는 파일의 끝으로 FTP 출력의 다음과 같은 형식을 찾아 낼 것으로 예상 :Windows 파일 출력 리디렉션 문제

#this is a part of the complete output after running ftp script via perl 
226 Transfer complete 
ftp: 100000000 bytes sent in 14.81Seconds 6753.56Kbytes/sec. 
ftp> bye 

이 명령은 명령 프롬프트에서 실행될 때 얻을 것입니다. 그러나이 대신에 내가 TXT 파일로 출력을 리디렉션 할 때 다음 얻을 : 스크립트 완성도를 위해서

226 Transfer complete 
ftp: 100000000 bytes sent in Seconds Kbytes/sec. 
ftp> 14.816753.56bye 

, 나는 펄을 통해 FTP 스크립트를 실행하고 (시스템 ("의 ftp -s를 사용하여. txt ");) 명령 줄에서 '>'를 사용하여 출력을 가져옵니다. 누군가 그것이 잘못되었다고 설명해 줄 수 있습니까? 그것은 바로 "초"를하기 전에 커서를 뒤로 이동합니다

감사

나는 FTP 응용 프로그램 후 생각
+0

, 그것은을 통해 작동합니까 배치 파일 또는 대화 형 모드에서 가져온 위 출력은 무엇입니까? – bubbly

+0

@Kevin 나는 다음 명령을 제공하는 명령 : {perl ftp_upload.pl> out.txt}을 제공합니다. system ("ftp -s : ftp_script.txt"); – CuriousSid

답변

0

는 ". 킬로바이트가/초 초에 전송 100,000,000 바이트 FTP"기록 "킬로바이트/초." "14.81"및 "6753.56"이라고 각각 씁니다. 출력을 파일로 재지 정하면 커서 이동 API 호출이 작동하지 않고이 번호가 다음 행의 끝에 추가됩니다.

(I는 Windows FTP 응용 프로그램의 코드를 본 적이 없어,하지만 난 몇 년 전에 쓴 프로그램의 경우 같은 문제가 있었다.) 명령 프롬프트에

+0

감사합니다.하지만이를 피하려면 어떻게해야합니까? – CuriousSid

+0

비슷한 문제가 발생했을 때 코드는 제 것이었고 커서 위치를 변경하지 않고 "직렬 출력"만 사용하도록 수정할 수있었습니다. 불행히도 ftp 앱을 수정할 수 없습니다 ... 형식화 된 출력이 정말로 필요한 경우에는 명령 줄 FTP 클라이언트를 작성하는 것이 매우 쉽습니다 (예 : C#의 경우 약 수백 줄에 해당, FtpWebRequest 클래스 참조). – kol

+0

또는 Net :: FTP를 사용할 수 있습니다. 메인 프레임에서 /로 FTPing 할 때도 나를 위해 챔피언처럼 작동합니다. – mswanberg