當前位置:首頁 » 文件管理 » 怎麼判斷ftp伺服器上的文件

怎麼判斷ftp伺服器上的文件

發布時間: 2023-03-27 20:15:42

Ⅰ 如何判斷ftp上是的文件是文件夾還是文件

引用
3

的回復:使用這個方法
System.IO.Path.GetExtension(ftp路徑)判斷後綴名,如果有後綴名就是文件,沒有後綴名就是文件夾有些文件名沒有後綴的

Ⅱ Shell 判斷FTP上某個路徑、文件是否存在

如果FTP上的文件很大,獲取文件會很費時。應該可以不用獲取直接判斷的,下面供借鑒:

#!/bin/bash
server=127.0.0.1#改為你自己的FTP伺服器IP
user=root#修改為你自己的FTP登錄用戶名
password=root#修改為你自己的FTP用戶密碼
errlog=./err.log#用於記錄FTP錯誤

ftpCheckFile()
{
ftp-n-i$server<<EOF
USER$user
PASS$password
ls$1
bye
EOF
}

rm-f$errlog
ftpCheckFile$1>/dev/null2>$errlog
bytes=`wc-c$errlog|awk'{print$1}'`
if[$bytes-eq0];then
echo"$1-Exist!"
else
echo"$1-Notexist!"
fi

用的時候在腳本名後跟一個參數,就是你要判斷的文件名或路徑名。

思路:如果文件或路徑不存在,FTP中的ls命令會執行錯誤,從而在錯誤日誌err.log中有記錄。

通過解析該錯誤日誌的內容,可以得知文件或目錄是否存在。

我這里暫時沒有環境試驗,所以沒法得知錯誤日誌的格式,只能暫且通過判斷日誌位元組大小是否為0來看是否發生了錯誤,而無法確定具體錯誤種類。

linux下用ftp命令連接到ftp伺服器應該如何查看伺服器上的目錄文件數

1.Linux下啟動ftp

ls -l 普通文件就是以 - 開頭,文件夾以 d 開頭,grep 後面接正則表達式:^- 以 - 開頭的匹配。

(3)怎麼判斷ftp伺服器上的文件擴展閱讀:

1.查看當前目錄下的文件數量(不包含子目錄中的文件):

ls -l|grep "^-"| wc -l

2. 查看當前目錄下的文件數量(包含子目錄中的文件):

ls -lR|grep "^-"| wc -l

3.查看當前目錄下的文件夾目錄個數,(不包含子目錄中的目錄):

ls -l|grep "^d"| wc -l

4.查詢當前路徑下的指定前綴名的目錄下的所有文件數量 例如:統計所有以「20161124」開頭的目錄下的全部文件數量:

ls -lR 20161124*/|grep "^-"| wc -l

Ⅳ C#如何判斷FTP伺服器上的文件夾是否存在

引入IO命名空間Directory類就是用來操作文件夾的Directory.Exists(string path); 該方法用於檢查指定的文件夾在磁碟上是否存在,存在返回true,否則false

Ⅳ ftp伺服器端怎麼判斷一個文件已經傳送完成

首先,我不清楚你說的這個和我理解的是不是同一個概念。剛好之前寫過一個文件伺服器的小代碼,可以稍微分享一下。
伺服器首先read文件,read之後會有一個返回值,假設你每次read 1024個位元組,當返回值小於1024,表示已經文件已經read結束。read之後send發送文件(阻塞式),在發送完所有文件斷開連接,這時伺服器又會發送一個FIN給客戶端。(注意這里讀文件,發文件在一個大循環,循環的判斷條件就是read的位元組數)。對應客戶端接收文件也是在一個大循環里,recv阻塞式的接收文件,然後將接收到的內容寫入自己建立的空文件中,在recv的返回值為0的時候,表示接收已經結束,跳出循環,繼而斷開連接。
可能有人會有疑問,當接收完文件,斷開連接,伺服器不也就結束了嗎?其實我當時寫的伺服器有伺服器和客戶端建立了兩條TCP連接,一條用於客戶端向伺服器請求文件,另一條用於伺服器向客戶端發送文件,這樣即使下面一條連接斷開,伺服器和客戶端也不會終止,從而實現該客戶端還可以再次請求文件,同時伺服器也可以處理其他客戶端的請求(第二條連接是在客戶端向伺服器請求文件,並且伺服器有你請求的文件時建立的)。
多客戶端連接伺服器有兩種方式,一種是通過伺服器fork生成子進程,用子進程去處理和客戶端的數據傳輸,而父進程的功能就是監聽是否有子進程過來連接。還有一種方式就是通過epoll來實現(與select和poll思想相同)。
以上所有內容都是自己敲上去的,可能說的有不對或是不確切的地方,希望看見的人能提出指正,謝謝。

Ⅵ 怎麼判斷FTP文件是否存在

//////1.從ftp伺服器的指定目錄下獲得文件列表//////ftp伺服器IP(DNS)地址///對ftp伺服器上的目錄或文檔的操作方式///publicstaticvoidGetFileList(stringpath,stringWRMethods){string[]downloadFiles;WebResponseresponse=null;StreamReaderreader=null;StringBuilderresult=newStringBuilder();try{//連接ftp伺服器ConnectFtpServer(path);//設定要傳送到ftp伺服器的命令reqFTP.Method=WRMethods;//傳回ftp伺服器回應response=reqFTP.GetResponse();reader=newStreamReader(response.GetResponseStream(),Encoding.Default);stringline=reader.ReadLine();while(line!=null){if(line.Substring(line.LastIndexOf('.')+1,3)=="xml"){result.Append(line);result.Append("\n");}line=reader.ReadLine();}if(string.IsNullOrEmpty(result.ToString())==true||result.ToString().Length0){DownLoad(localFolder,downloadFiles);}reader.Close();response.Close();_job_Message+="本次讀取到的文件列表為:"+result;///刪除FTP上的文件DeleteFileName(localFolder,downloadFiles);}}catch(Exceptionex){_job_Err_Message+="3.從FTP遠端主機的根目錄下獲得文件列表時發生的錯誤訊息:"+ex.Message.ToString()+"";downloadFiles=null;}}

Ⅶ 如何判斷ftp上是否存在某一文件或文件夾

Shell 判斷FTP上某個路徑、文件是否存在:
#bin/bash
#進入該目錄,把文件down在這里
cd /opt/
#某個路徑的某個文件變數定義
f1=/file1/file2/filename;
ftp -i -v -n 192.x.x.x <<ok
use ftpuser ftppasswd
binary
get ${f1}
bye
ok
if [ -f /opt/filename ] ;then
echo "the ftp filename exist.";
fi
exit 0
#首先要知道ftp上的路徑和文件的名字,如果不知道的話,用通配符也可以,但是路徑得知道,總不能全部下載下來吧。。。還有,ftp能登錄、用戶名、密碼應該不會有問題吧,就沒判斷了。

熱點內容
美嘉演算法口訣 發布:2025-05-16 06:03:15 瀏覽:952
c程序編譯連接 發布:2025-05-16 06:02:36 瀏覽:964
腳本魔獸 發布:2025-05-16 06:01:52 瀏覽:330
文件夾python 發布:2025-05-16 06:01:43 瀏覽:627
電腦我的世界伺服器游戲幣 發布:2025-05-16 05:27:25 瀏覽:488
索尼手機為什麼不能用安卓10 發布:2025-05-16 05:18:46 瀏覽:784
蔚來es6選擇哪些配置實用 發布:2025-05-16 05:18:05 瀏覽:130
小米如何掃碼wifi密碼 發布:2025-05-16 05:13:38 瀏覽:807
樓層密碼是什麼意思 發布:2025-05-16 05:13:37 瀏覽:13
創建文件夾失敗 發布:2025-05-16 05:12:59 瀏覽:397