2013-12-12 51 views
-2

我需要创建一个(.bat)文件来运行USB以将文件和文件夹从该驱动器复制到每台计算机上的特定文件夹。例如。Windows 8 Xcopy问题

XCOPY \复制*。* C:\ Windows \ Inf文件\/H/E/I/K/Y

用于Windows 7的工作,但上面的代码现在已经不再适用,由于新的管理Windows 8的限制。我设法让管理员权限运行在下面的代码中,我在这个网站上找到了这些代码。

::::::::::::::::::::::::::::::::::::::::: 
:: Automatically check & get admin rights 
::::::::::::::::::::::::::::::::::::::::: 
@echo off 
CLS 
ECHO. 
ECHO ============================= 
ECHO Running Admin shell 
ECHO ============================= 

:checkPrivileges 
NET FILE 1>NUL 2>NUL 
if '%errorlevel%' == '0' (goto gotPrivileges) else (goto getPrivileges) 

:getPrivileges 
if '%1'=='ELEV' (shift & goto gotPrivileges) 
ECHO. 
ECHO ************************************** 
ECHO Invoking UAC for Privilege Escalation 
ECHO ************************************** 

setlocal DisableDelayedExpansion 
set "batchPath=%~0" 
setlocal EnableDelayedExpansion 
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%temp%\OEgetPrivileges.vbs" 
ECHO UAC.ShellExecute "!batchPath!", "ELEV", "", "runas", 1 >>  "%temp%\OEgetPrivileges.vbs" 
"%temp%\OEgetPrivileges.vbs" 
exit /B 

:gotPrivileges 
:::::::::::::::::::::::::::: 
:START 
:::::::::::::::::::::::::::: 
setlocal & pushd . 

REM Run shell as admin 

xcopy \copy\*.* C:\Windows\inf\ /h /e /i /k /y 
cmd /k  

但现在我不断收到​​因为USB驱动器的不同位置,出现在一些系统如(G :)别人为(H :)的。我是否在这里正确的路径,只是有不正确的语法,或者它是完全错误的?任何帮助将不胜感激。

只是让你们知道,我用一些隐藏的文件和文件夹复制驱动程序文件夹,所有的系统都需要在它们上面有相同的文件。

问候 亚当中号

+0

难道没有比在计算机中四处乱窜拇指驱动器更好的方法来做这种事吗? –

+0

@AndrewBarber那里肯定有。但无论用途如何,这个问题肯定可以归结为一个有效的问题。 –

+0

问题可能是陷入低估,因为你没有充分描述你的问题,但有效地倾销你的代码并要求我们告诉你,哪里出错了。 - 你能否试着告诉我们,你试图解决你的问题的原因以及为什么或者不如何解决问题?你了解你找到并使用的代码吗?它有什么作用?等等... –

回答

0

您需要"%~dp0",它扩展到G:或H:对飞。

xcopy %~dp0copy\*.* C:\Windows\inf\ /h /e /i /k /y