BAT复制文件到路径

923 阅读2分钟

欢迎转载,转载需带着文章出处链接~~,希望我的经验能帮到你,有问题可以点我头像加我微信 本文章仅对遇到的问题提供一个解决思路,对于迫切想要实现功能效果的人来说,希望能稍微沉下心观看,或者直接观看思路部分,或者直接观看完整代码 本文章的代码并不能直接拿来使用,完整代码只是本篇文章解决的问题需要用到的代码,如果直接使用可能会有报错,只要修改一下代码既可使用~~~

将bat目录下的某个文件或文件夹复制到D盘,如果电脑没有D盘,则复制到C盘

-参考-

无,不写了,找不到了


-说明-

将bat目录下的某个文件或文件夹复制到D盘,如果电脑没有D盘,则复制到C盘


-主要版本-

CMD


-思路-

1、判断有没有该盘符 2、复制文件到目标下 3、管理员运行


-过程-

1、判断有没有该盘符

1.1、判断有没有盘符
if exist "D:" (echo 找到了)

但是使用了else后一直走不到else

1.2、进入else

找度娘,度娘最后告诉我,bat里边对空格的要求比较严格,else前后的()都需要加一个空格,然后成功了

2、复制文件到目标下

2.1、复制文件
copy D:/a.txt E:/a.txt

但是复制文件夹的时候,貌似不管用

2.2、复制文件夹

找度娘,度娘告诉我,要用xcopy

xcopy D:/emergency E:\emergency\ /e /Y /d

后边的参数看说明就可以,复制这里,如果要创建文件夹,就写E:\emergency\,最后有\,如果写E:\emergency,cmd最后会询问,要创建文件还是文件夹

2.3、复制bat所在目录的文件夹
%~dp0

使用这句代码即可,可以在后直接拼接路径

3、管理员运行

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit

启用管理员模式


-完整代码-

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
if exist "D:" (xcopy %~dp0emergency D:\emergency\ /e /Y /d) else (xcopy %~dp0emergency C:\emergency\ /e /Y /d)