2012-10-05 42 views
0

我正在將ftp會話期間的大量文件從遠程主機複製到本地計算機。我需要將文件保存在本地目錄樹中。我的問題是在會話之前可能不存在特定的目錄。我過去處理這個問題的方法是首先創建目錄樹,然後不用擔心目錄是否存在,然後從同一個批處理文件中創建(我使用Python創建批處理文件),我開始創建我的腳本會話和使用LCD改爲因此,所有的上面寫了一個批處理文件正確的目錄在ftp會話期間檢查本地計算機上的目錄是否存在

md c:\123 
md c:\234 
md c:\234\2009 
loginname 
password 
cd remotedirectory 
lcd c:\123 
get somefile.txt 

,我開始它運行。如果該目錄存在,當我嘗試創建它時,然後我在終端窗口中看到該目錄存在的消息,因爲沒有什麼不好的情況發生,我並不擔心它。

我真的很想做的是檢查存在的本地目錄,當我準備移動到該目錄,如果它不存在,它會被創建,但我還沒有找到如何做到這一點,而不關閉會話並重新啓動它,所以我回到shell。

有沒有辦法在ftp會話期間做到這一點,同時保持與主機的連接?

+0

你也可以在python腳本中創建文件夾,所以你只需要在ftp會話期間使用lcd –

回答

1

您可以使用命令前綴!執行命令CMD MD以確保本地目錄已存在。例如:

! md "c:\my data\download"將創建c:\data\download目錄如果它尚不存在(並假設您有所需的權限)。如果它已經存在,它只會顯示一個無害的錯誤。您也可以使用! md "c:\my data\download" > nul來省略錯誤消息。或執行其他命令。

基本上,在! ftp命令前綴之後的所有內容都將作爲cmd /c {your command(s)}傳遞給CMD.EXE。如果單獨使用!,它將轉義爲CMD會話提示並等待用戶輸入。 CMD的EXIT命令將關閉CMD會話並返回到FTP提示。

+0

哇!什麼是隱藏的寶藏!運營商。謝謝,我非常感謝你的迴應。我已經離開了,所以我錯過了它。 – PyNEwbie