一、原因
32位程序
① 在32位系统上,上面代码能成功复制
② 在64位系统上,上面代码会将文件复制到C:\Windows\SysWOW64\中,因为系统为了区分32位和64位,所以访问system32时会将路径重定向到syswow64。
二、解决方法
用下面的代码段表示 *\Windows\System32\路径
%systemroot%\sysnative\
例如:复制.bat批处理所在目录下的A.txt到system32里面去
copy /y A.txt %systemroot%\sysnative\
注:需要管理员权限
三、获取管理员权限的方法
将该段代码放在需要管理员权限的代码头上即可
cd /d %~dp0
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit