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

ftp自動覆蓋

發布時間: 2022-08-13 17:09:01

❶ 第一次建站,用FTP上傳wordress的時候 隔一會兒就會出現這個,是怎麼回事覆蓋,還是跳過

覆蓋就會好了,因為有重名文件,不用擔心,擔心的話先備份好再上傳

❷ 由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怎麼覆蓋網站上的圖片阿

你先找到要覆蓋的那張圖片,把尺寸記下來,然後再用PS做一個跟這個尺寸一樣的.存儲的時候文件名取跟伺服器上的圖片一樣的名稱,包括擴展名哦.然後再上傳就可以了.