哈喽   我又来了

客户昨天提出了一个要求,这次的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. 盘点Vue3 watch的一些关键时刻能够大显身手的功能

    前言 watch这个API大家应该都不陌生,在Vue3版本中给watch增加不少有用的功能,比如deep选项支持传入数字.pause.resume.stop方法.once选项.onCleanup函数. ...

  2. Sickos1.1 详细靶机思路 实操笔记

    Sickos1.1 详细靶机思路 实操笔记 免责声明 本博客提供的所有信息仅供学习和研究目的,旨在提高读者的网络安全意识和技术能力.请在合法合规的前提下使用本文中提供的任何技术.方法或工具.如果您选择 ...

  3. Linux中的用户管理-创建删除修改

    用户管理 一.用户分类 用户分为三类: 1.管理员 root root UID:0 #拥有最高权限 默认系统中就一个 UID即user ID 类似于身份号码,唯一的,不可重复 2.虚拟用户 作用:在运 ...

  4. 什么是静态(static)?什么是静态方法,静态变量,静态块和静态类?

    本文由 ImportNew - 唐小娟 翻译自 Journaldev.如需转载本文,请先参见文章末尾处的转载要求. static是Java中的一个关键字,我们不能声明普通外层类或者包为静态的.stat ...

  5. 如何优雅地在Django项目里生成不重复的ID?

    前言 本来标题是想叫"生成不重复的四位数"的,不过单纯数字有点局限,推广一下变成不重复 ID 吧~ 这个功能是在做下面图片里这个小项目时遇到的,有点像微信的面对面建群,生成一个随机 ...

  6. .NET 7 中的限流

    .NET 中的限流 https://devblogs.microsoft.com/dotnet/announcing-rate-limiting-for-dotnet/ 这里我们要宣布的是集成为 .N ...

  7. GraphQL Part VII: 实现数据变更

    我们已经可以使用各种方式来获取数据了.但是如何修改服务器端的数据呢?包括数据插入,修补,删除或者更新等等.GraphQL 的 mutation 就是负责这部分的. 在我们继续之前,我想对项目做一点调整 ...

  8. 【C#】【平时作业】习题-12-事件

    目录 1. 什么是事件? 2. 事件与委托的关系是什么? 3. 事件发生的类(事件发生器)的主要内容与作用? 4. 事件接收处理的类的主要内容与作用? 5. 什么是订阅事件 ? 6. 如何引发事件? ...

  9. 如何在 Kubernetes Pod 和您的机器之间复制文件

    在 Kubernetes Pod 中运行的容器是不需要手动交互的独立计算单元.有时您可能需要将文件复制到 Pod 的文件系统或从 Pod 的文件系统复制文件,这可能是因为您正在调试问题并希望存档存储在 ...

  10. OkHttp实现延时重试

    本文主要应用了OkHttp的Interceptor来实现自定义重试次数 虽然OkHttp自带retryOnConnectionFailure(true)方法可以实现重试,但是不支持自定义重试次数,所以 ...