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