哈喽   我又来了

客户昨天提出了一个要求,这次的update里要用bat脚本去拷贝远程共享目录下的文件到各自的本地C盘目录下,于是乎,从昨天下午开始研究

到了今天中午,写写删删,乱改一气,总算弄出来了一个又有局限性又简易的小脚本。ps:时间太短,牛马也懵逼啊~       >.<!!

废话不多说,上正文

@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

这个脚本由于时间原因,写的比较仓促,可以看到有很多地方都不严谨

比如:在查出来当前登录机器的用户后,不管用户有任何键盘操作,都会进行下一步!!

这个我实在是没时间再去加判断加逻辑了,不然这个地方可以加上判断,让客户确认后输入Y或者N,然后再让客户输入正确的用户名,脚本再去创建目录

巴拉巴拉的,还有很多地方要改,不过由于时间原因,这个脚本就先这么用吧,反正如果客户听话,按提示一步一步来,倒也没问题。毕竟前提条件都ok。

后边有空给再更新吧,这玩意就离谱!欢迎指导!!

Windows下使用Bat拷贝远程共享目录下文件的更多相关文章

  1. java操作远程共享目录

    一.前言 根据客户反馈,在进行文件下载的时候,新增远程共享目录,下载对应的文件到远程共享目录,采用常用的IO操作模式,提示下载成功,但是客户去远程共享目录查看对应的下载文件,反馈说没有找到对应的文件. ...

  2. Linux编译Windows共享目录下代码

    Linux编译Windows共享目录下代码(金庆的专栏)万神服务器代码是跨平台的.平时策划在Windows上开自己的服务器测试,测试和发布服务器为Linux.开发时,先在Windows上编译测试,再到 ...

  3. 将samba共享目录映射为本地文件夹(百度网盘直接下载到samba共享目录下)

    将samba共享目录映射为本地文件夹(百度网盘直接下载到samba共享目录下) 前面淘了一个蜗牛星际的矿机,打算拿来做个个人云盘,就装上了Linux用smb把硬盘共享出来 访问倒是很爽,就是发现下东西 ...

  4. 在java程序中访问windows有用户名和密码保护的共享目录

    在java程序中访问windows有用户名和密码保护的共享目录 Posted on 2015-11-20 14:03 云自无心水自闲 阅读(3744) 评论(0)  编辑  收藏 --> Jav ...

  5. linux-Redhat7 windows物理机与虚拟机设置共享目录

    一                   windows物理机与虚拟机设置共享目录 1.1        WMware Workstation点击重新安装WMware Tools 此时会弹出在客户机装载 ...

  6. vmtool安装成功,但是hgfs下没有被挂接共享目录!

    vmtool安装成功,但是hgfs下没有被挂接共享目录! 2013-01-04 16:05:18|  分类: Linux|字号 订阅     1.使用vmtool 提供的命令——vmware-hgfs ...

  7. linux拷贝多个目录下的文件到同一个目录

    拷贝a目录下的a.txt和b目录下的b.txt到c目录 cp -a \ /root/a/a.txt \ /root/b/b.txt \ /root/c/

  8. 远程映射错误 “发生系统错误 1312 指定的登录会话不存在。可能已被终止 IIS 访问 远程共享目录”

    最近和其他公司做接口,需要将数据上传给对方. 我们发送程序部署在前置机上,文件在内网数据中.需要映射到文件服务器后上传数据.本机vs开发是可以映射成功,但是部署到远程的IIS中,就不能成功. 报错:  ...

  9. java中把文件拷贝到指定目录下最简单几种方法

    java中把文件拷贝到指定目录下最简单几种方法   String savePath = "D:/file";// 文件保存到d盘的file目录下 File savefile = n ...

  10. windows怎么访问linux的samba共享目录

    windows怎么访问linux的samba共享目录 听语音 原创 | 浏览:6976 | 更新:2018-07-31 13:20 | 标签:LINUX WINDOWS 1 2 3 4 5 6 7 分 ...

随机推荐

  1. 记录一次CTF经典PHP反序列化

    PHP反序列化 序列化通俗来讲就是将对象转化为可以存储.传输的字符串,反序列化就是把字符串再变回对象的过程. 例如: <?php class chybate { var $test = '123 ...

  2. apisix lua插件开发

    1. 怎么定义ngx自定义变量 ngx.var.custom_var nginx_config: # config for render the template to generate nginx. ...

  3. k8s之镜像加速

    部分国外镜像仓库无法访问,但国内有对应镜像源,可以从以下镜像源拉取到本地然后重改tag即可: 阿里云镜像仓库   可以拉取k8s.gcr.io镜像 #示例 docker pull k8s.gcr.io ...

  4. npm之基本使用

    # 查看镜像源 npm config get registry # 设置镜像源 # 腾讯云 npm config set registry http://mirrors.cloud.tencent.c ...

  5. Mybatis【4】-- 关于Mybatis别名定义

    代码直接放在Github仓库[https://github.com/Damaer/Mybatis-Learning ],可直接运行,就不占篇幅了. 我们下面需要改进的是别名,也趁这个机会介绍一下别名的 ...

  6. .NET Conf China 2024 AI相关内容解析

    .NET Conf China 2024中国 .NET 开发者峰会即将在上海召开,这次大会是一届完全由社区组织举办的中国.NET 开发者盛会,我们筹备大会之初就定下了大会的主题是"智能.创新 ...

  7. 推荐一款轻量级且强大的 Elasticsearch GUI : elasticvue

    推荐一款轻量级且强大的 Elasticsearch GUI : elasticvue 很多同学都是用过 Elasticsearch 的 GUI 工具 Kibana ,但 Kibana 相对比较重,这篇 ...

  8. CVE-2023-3609 Linux 内核 UAF 漏洞分析与漏洞利用

    漏洞分析 通过分析补丁和漏洞描述可以知道漏洞是位于 u32_set_parms 函数里面,代码如下: static int u32_set_parms(struct net *net, struct ...

  9. 【并查集+dfs】codeforces 1833 E. Round Dance

    题意 输入一个正整数 \(T(1 \leq T \leq 10^4)\),表示接下来输入 \(T\) 组测试用例,对于每一个测试用例: 第一行,输入一个正整数 \(n(2 \leq n \leq 2 ...

  10. 『玩转Streamlit』--集成Plotly

    之前介绍了如何在Streamlit App中使用Matplotlib库来绘图. 本篇介绍 Steamlit结合Poltly的方法,相比于Matplotlib,Poltly的交互性更强, 更适合在Web ...