BigUncle52 发表于 2024-5-25 00:29

用Bat实现批量下载ftp文件及删除

局域网Ftp://192.168.100.2@admin:Admin123/test
Test文件夹内没有其他的文件夹,只有文件
想用bat一键下载后ftp中test文件夹中全部文件至本地c:/zzzz
并删除ftp中test的全部文件,试过用python可以,但是bat一直都不能成功,烦请大神指导

chizha 发表于 2024-5-25 09:42

先映射一个网络驱动器再操作试试

q314956820 发表于 2024-5-25 09:59

这应该是个最简本的用法你是删除不了test吗 要注意ftp里的权限(Admin应该没问题),然后服务器系统里面安全给到的权限,如Windows要将文件夹安全的everyone给到全部权限,Linux要给到777

冥月影 发表于 2024-5-25 10:48

把Python的代码丢给AI,转成bat的代码,再调试一下就行了

Metest 发表于 2024-5-25 11:01

pandaligx 发表于 2024-5-25 13:00

@echo off
setlocal enabledelayedexpansion

:: 设置控制台颜色和标题
color 0A
title 服务端下载器

:: 清屏
cls

REM 获取本地计算机IP地址
for /f "tokens=2 delims=:" %%i in ('ipconfig ^| findstr /C:"IPv4"') do set "LocalIP=%%i"

:: 打印头部
echo: +--------------------------------------------------+
echo: ^|                  服务端下载器               
echo: +--------------------------------------------------+
echo: ^|             本机IP地址:!LocalIP!            
echo: +--------------------------------------------------+
echo: ^| 请选择要下载的服务器目录:                  
echo: ^| 共享软件文件夹                           
echo: ^| Office_2016.ISO 文件                     
echo: ^| 退出                                    
echo: +--------------------------------------------------+

choice /C:123 /N /M "请选择 (1, 2, 或者 3退出): "
set choice=%errorlevel%

if %choice%==1 set "Source=\\192.168.0.253\共享软件"
if %choice%==2 set "Source=\\192.168.0.253\共享软件\Office_2016.ISO"
if %choice%==3 exit /b

echo.
set /p Drive=请选择要下载到的磁盘(输入C、D、E或F):
set /p Folder=请输入目标文件夹路径(留空则复制到根目录):

REM 检查目标文件夹是否存在,不存在则新建
if not exist "%Drive%:\%Folder%" mkdir "%Drive%:\%Folder%"

echo: +--------------------------------------------------+
echo: ^| 请稍等,正在复制文件...                     
echo: +--------------------------------------------------+

REM 检查是文件还是文件夹
if exist "%Source%\*" (
    REM 它是一个目录
    robocopy "%Source%" "%Drive%:\%Folder%" /E /Z /R:2 /W:2
) else (
    REM 它是一个文件
    echo: 正在复制: "%Source%"
    copy "%Source%" "%Drive%:\%Folder%"
)

echo.
echo: +--------------------------------------------------+
echo: ^| 复制完成。                                    
echo: +--------------------------------------------------+
endlocal
pause

pandaligx 发表于 2024-5-25 13:05

pandaligx 发表于 2024-5-25 13:00
@echo off
setlocal enabledelayedexpansion



其中
if %choice%==1 set "Source=\\192.168.0.253\共享软件"
if %choice%==2 set "Source=\\192.168.0.253\共享软件\Office_2016.ISO"
服务器ip自己切换,\后面的文件夹就是你服务器当前下的文件夹,如果是文件,则需要写上完整的后缀
页: [1]
查看完整版本: 用Bat实现批量下载ftp文件及删除