Windows下使用Bat拷贝远程共享目录下文件
@echo off::By 一袭白衣一
:: TIME:2025/1
::version:1.0
:: 检查配置文件是否存在
if exist 配置.txt (
set /p Remote_dir=<配置.txt
echo 从配置文件读取远程下载目录信息
) else (
echo 未读取到配置文件,请按回车进入默认更新方案:
:choose
set /p choice=
if /i "%choice%"=="1" (
set Remote_dir=\\远程目录1
) else if /i "%choice%"=="2" (
set Remote_dir=\\远程目录2
echo 请根据实际需要输入1或2选择默认远程共享路径:
echo 1.北京地区(BJ)
echo 2.上海地区(SH)
goto choose
)
)
echo 读取到的远程下载目录信息: %Remote_dir%
:write
echo 当前登录的用户为:%USERNAME%
set /p DIR_NAME="请确认上述用户名正确后回车即可:"
:: 检查C盘users下是否有客户用户的个人目录
set "TARGET_DIR=C:\Users\%USERNAME%"
if not exist "%TARGET_DIR%" (
echo 未找到目录: %TARGET_DIR%
goto write
)
:: 进入目标目录,检查是否存在目标目录
set "US_DIR=%TARGET_DIR%\XXX"
if not exist "%US_DIR%" (
echo 未检查到XXX目录,创建中...
mkdir "%US_DIR%"
echo %US_DIR%目录创建成功。
)
:: 进入US_DIR目录,检查是否已经存在的目录
set "目标_DIR="
for /d %%i in ("%US_DIR%\目录名称*") do (
if not defined 目标_DIR (
set "目标_DIR=%%i"
echo 找到目标目录: %%i
)
)
:: 如果存在目标目录名称开头的目录,则删除旧版本目录
if defined 目标_DIR (
rmdir /s /q "%目标_DIR%"
echo 删除旧版本成功。
)
:: 从远程机器的共享目录拷贝整个文件夹到US目录下
echo 开始下载新版本到本地,请稍等!
xcopy /e /i /y "%Remote_dir%" "%US_DIR%\目标目录"
if errorlevel 1 (
echo 远程目录无法访问,请推出后重新运行并选择其他选项重新拷贝,如仍失败,请联系管理员!
goto end
)else (
echo 新版本下载完成!
)
:end
pause
COUNT函数,4个妙用,简单又厉害!