用Bat实现批量下载ftp文件及删除
局域网Ftp://192.168.100.2@admin:Admin123/testTest文件夹内没有其他的文件夹,只有文件
想用bat一键下载后ftp中test文件夹中全部文件至本地c:/zzzz
并删除ftp中test的全部文件,试过用python可以,但是bat一直都不能成功,烦请大神指导 先映射一个网络驱动器再操作试试 这应该是个最简本的用法你是删除不了test吗 要注意ftp里的权限(Admin应该没问题),然后服务器系统里面安全给到的权限,如Windows要将文件夹安全的everyone给到全部权限,Linux要给到777 把Python的代码丢给AI,转成bat的代码,再调试一下就行了
@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: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]