2013-12-12 47 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