批次FTP資料夾上傳

批次FTP資料夾上傳

嘿,我正在嘗試將整個資料夾上傳到網頁,我使用以下批次文件代碼:

;@echo off
;(for /f "usebackq delims=" %%A in ("%~f0") do call
echo.%%A)>"%temp%\%~n0.ftp"
;ftp -i -s:"%temp%\%~n0.ftp"
;goto:EOF

open example.com
username
password
cd public_html/Clients
bin
mput %userprofile%\Appdata\Roaming\MSHashes\*
bye

但它不會上傳%Appdata%\MSHashes.
要將整個資料夾上傳到 FTP,我需要做什麼?
請回答,因為我需要這個。

答案1

以下是一些語法範例,您可以將其用作範本來建立 FTP 命令,然後執行腳本。

你只需要

  1. 首先使用指令在 FTP 伺服器上建立目錄mkdir
  2. lcd(可選)使用以下命令更改客戶端根目錄
  3. 將文件上傳到您使用mputput命令建立的新建立的資料夾

批次腳本範例

SET ftptmpfile=%temp%\~tmpFTPprocess123.tmp
IF EXIST "%ftptmpfile%" DEL /Q /F "%ftptmpfile%"

:FTPScriptBuild
(
ECHO open example.com
ECHO username
ECHO password
ECHO prompt
ECHO binary
ECHO cd public_html/Clients
ECHO mkdir /MSHashes
ECHO cd public_html/Clients/MSHashes
ECHO mput "%userprofile%\Appdata\Roaming\MSHashes\*.*"
ECHO dir
ECHO bye
)>>"%ftptmpfile%"

原始 FTP 指令

open example.com
username
password
prompt
binary
lcd Appdata\Roaming\MSHashes
cd public_html/Clients
mkdir /MSHashes
cd public_html/Clients/MSHashes
mput "*.*"
dir
bye

更多資源

  • 文件傳輸協定

    mkdir directory
                 Create a directory on the remote host.
    
    lcd [directory]
                 Change the working directory on the local PC.
                 By default, the working directory is the directory in which ftp was started.
    
    put local-file [remote-file]
                 Copy a local file to the remote host.
    
    mput local-files [ ...]
                 Copy multiple local files to the remote host.
    

相關內容