當前位置:首頁 » 文件傳輸 » ftp不覆蓋
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ftp不覆蓋

發布時間: 2022-05-15 12:01:10

『壹』 由bat批處理做成的ftp自動下載,怎麼才能不自動覆蓋

。用其它軟體建的FTP伺服器我沒用過,不清楚dir命令返回結果的的格式。有問題可以Hi。
大體的工作流程是這樣。首先遠程文件夾列表是空的,寫入一行「/」(遠程根文件夾)。然後開始循環。第n次循環,獲取運程文件夾列表第n行文件夾內的子文件夾和文件的列表,處理獲取的這個列表,把列表裡的子文件夾加入遠程文件夾列表,把列表裡的文件下載下來。一直循環,直到最後遠程文件夾列表第n行為空。

如果不需要保存文件夾結構,可以用 lanny119 的方法,用mget命令下載全部文件。

rem setlocal批處理中所作的環境更改隻影響本批處理。前面加@的作用,不顯示此行命令本身
@setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
rem 顯示命令本身 關
@echo off
rem 填ftp伺服器地址或域名
set ftpsvr=
rem 填用戶名
set user=
rem 填密碼
set pass=
rem 填保存備份的文件夾
set archdir=D:\backup
rem 填WinRAR安裝文件夾,如:C:\Program Files\WinRAR
set rardir=
rem 把要使用的臨時文件夾的路徑設為環境變數mytemp
set mytemp=%temp%\ftp.x
rem 防止可能的同名文件夾或文件存在影響工作,全刪一遍。>nul不顯示回顯 2>nul不顯示錯誤信息
rd /s /q "%mytemp%">nul 2>nul
del /a /f "%mytemp%">nul 2>nul
md "%mytemp%"

rem 把一個斜杠寫到%mytemp%\rdl裡面。斜杠表示遠程的根文件夾。rdl用作保存遠程文件夾列表。
echo />"%mytemp%\rdl"
rem 已下載文件的遠程文件夾計數
set dcount=0
rem 標號 cycle
:cycle
rem 獲取遠程文件夾內的文件和子文件夾列表。
rem 因為下面那個for要被執行多次,非第一次執行要跳過已處理的行,所以要寫skip=n。
rem 但是,第一次執行時,寫個skip=0出錯。所以第一次執行時不寫ship= 。
if %dcount%==0 set oo=
if not %dcount%==0 set oo=^ skip=%dcount%
rem 跳過指定的行數,每次從rdl文件中取一行賦給%%I。
for /f "tokens=*%oo%" %%I in (%mytemp%\rdl) do (
rem 為ftp准備命令文件(獲取文件列表用)。第一行用的>替換ftpcmd文件的內容,>>追加。
echo open %ftpsvr%>"%mytemp%\ftpcmd"
echo %user%>>"%mytemp%\ftpcmd"
echo %pass%>>"%mytemp%\ftpcmd"
rem 寫入的內容為更改遠程工作目錄為for語句取到的目錄。
echo cd "%%I">>"%mytemp%\ftpcmd"
rem 寫入的內容為獲取遠程工作目錄里的文件和子文件夾列表,保存到dir文件。
echo dir -a "%mytemp%\dir">>"%mytemp%\ftpcmd"
echo bye>>"%mytemp%\ftpcmd"
rem 以指定命令文件的方式執行ftp語句。回顯內容太多,不顯示。
ftp -s:"%mytemp%\ftpcmd">nul

rem 下面是處理獲取的dir文件及准備命令文件(下載文件用)。
echo open %ftpsvr%>"%mytemp%\ftpcmd"
echo %user%>>"%mytemp%\ftpcmd"
echo %pass%>>"%mytemp%\ftpcmd"
echo cd "%%I">>"%mytemp%\ftpcmd"
set ff=
rem 每次從dir文件中取一行的第三段和第三段後面所有的(tokens=3*)。
for /f "tokens=3*" %%K in (%mytemp%\dir) do (
rem 如果第三段等於<DIR>,是文件夾,加入rdl。<和>不加^為輸入輸出重定向符號。
rem %%L為第四段,如果還有更多部分,MN…類推。
if %%K==^<DIR^> echo %%I%%L/>>"%mytemp%\rdl"
rem 是文件,加入命令文件准備下載。
if not %%K==^<DIR^> (
echo recv "%%L">>"%mytemp%\ftpcmd"
rem 顯示要下載的文件。
echo 下載 %%I%%L ···
set ff=1
)
)
rem 用環境變數的字元串替換功能把斜杠替換成Win的反斜杠。
set ss=%%I
set ss=!ss:/=\!
rem 在臨時文件夾里建立對應文件夾。
md "%mytemp%\root!ss!"
rem !為環境變數延遲擴充符號,不在語句塊被執行時擴充,而是延遲到本條語句被執行時擴充。
rem 有文件要下載才執行裡面的。
if !ff!==1 (
echo bye>>"%mytemp%\ftpcmd"
rem 更改本地目錄到對應文件夾。
cd /d "%mytemp%\root!ss!"
ftp -s:"%mytemp%\ftpcmd">nul
)
rem 處理完一個文件夾,計數加一。
set /a dcount=!dcount!+1
)
rem 前面for語句讀入rdl並處理,在處理中rdl又可能有行被加入。
rem 如果計數沒變化,說明rdl中沒有要處理的行了,轉到標號compress。
if "%dcount%"=="%lstdcount%" goto :compress
rem 沒轉走就記錄計數,轉到標號cycle。
set lstdcount=%dcount%
goto :cycle

:compress
echo 壓縮已下載的文件···
rem 子命令a,添加文件到壓縮文件。開關-ep1,壓縮文件中文件不帶源文件基本路徑。
rem 開關-o+,覆蓋開。開關-r,包含子文件夾。開關-agYYYYMMDD,日期作為存檔文件名。
"%rardir%\rar.exe" a -ep1 -o+ -r -agYYYYMMDD "%archdir%\" "%mytemp%\root\*">nul
cd "%temp%"
rem 刪除臨時文件夾。
rd /s /q "%mytemp%"

本地WinXP簡體中文,遠程IIS,通過。
這樣可以保存文件夾結構。不足是太復雜,不能下載隱藏文件。不知道有沒有簡單的方法及下載隱藏文件的方法。

『貳』 ftp 上傳同文件名的文件如何不被覆蓋

換個目錄傳,或者選擇同名文件不覆蓋,這樣的話你上傳的文件會被改名字
無論如何,在同一個目錄下都不可能存在同名文件的

『叄』 用surv-u架設的伺服器,ftp無法覆蓋原文件

文件夾的許可權和serv-U裡面的許可權都要設置的,
如果還是不行的話 盡還是先刪除文件 在上傳文件吧 可能是你這個版本的Serv-U不支持吧

『肆』 linux新建了一個用戶,但是登錄後ftp後無法覆蓋文件

這個,這個,可不可以用"chown -R kevin /homenew/html/images/*" 命令把images文件夾下的所有文件和文件夾都設置為屬於kevin的呢,這樣的話肯定可以覆蓋了。

如果要kevin和fjdl都可以上傳文件的話,把kevin改成和fjdl一個組的,另外,在ls -l那個images目錄時,通過chown把組許可權也設置一下。

『伍』 FTP文件不能覆蓋,怎麼解決!!

刪掉搞上

『陸』 ftp上面有個文件無法覆蓋 上傳失敗 其他文件都沒問題

你的ftp可能不穩定,不知道你用的是哪個網站的ftp,也可能是你用的ftp網站裝有殺毒軟體
你的珍藏版的東東可能綁有病毒一類的東東,或者綁定讓殺毒軟體敏感的詞語,你換換ftp
或者檢查下你珍藏版的東東,是否留有後門程序

『柒』 我用win7自帶建的ftp,怎麼能讓用戶能上傳,下載文件(文件夾),但不能覆蓋文件(文件夾)

1、在win7上使用ftp服務,需要先安裝iis服務,打開 "控制面板",選擇"程序" -> "打開或關閉Windows資源",在彈出的窗體里找到 「Internet信息服務」,展開後選擇「Ftp伺服器",然後點擊"確定",此時Windows開始更新功能資源列表。

2、然後,自己在IIS管理器中添加FTP站點

在彈出的窗口,選擇ftp共享目錄即可。

『捌』 FTP上傳文件的問題,能不能讓我傳的文件不覆蓋

建議用批量改名軟體,然後自動上傳即可

『玖』 xp系統 自動的iis裝的 ftp,我可以訪問,也可以下載,但是我復制文件上傳ftp之後,ftp上面的文件不能覆蓋

我也遇見此問題,後來只能更改文件名。暫時還沒解決辦法,在文件名中加個空格

『拾』 我的FTP上傳文件為什麼沒有覆蓋原來的文件

一般有幾種情況:
文件損失,不完整,導致傳輸過程驗證失敗。
文件使用中,比如在殺毒或者編輯中的文件,系統佔用是不能傳輸的。
許可權不足,比如針對某些用戶,是不能傳輸部分文件的,比如exe等風險文件。
特殊情況,比如文件傳輸過程中,目錄滿了,存儲失敗,這個是由伺服器管理員控制的,如果目錄體積不夠文件傳輸的,聯系管理員協商解決。