windows - files - xcopy batch
Copiando un archivo de la carpeta local a "C: / Windows / System32 /" usando el archivo por lotes (1)
Intenta usar:
@echo off
:: Batch-Admin API
net file>nul 2>&1&&if "%~1"=="64" (goto:GotAdmin) else (if exist "%windir%/Sysnative/" (call start %windir%/Sysnative/cmd /c "%~0" 64&exit) else (goto:GotAdmin))
echo Requesting administrative privileges...
(echo Set UAC = CreateObject^("Shell.Application"^)
echo UAC.ShellExecute "%~s0", "ELEV","", "runas", 0 ) > "%temp%/admin.vbs"
cscript /Nologo "%temp%/admin.vbs"&exit
:GotAdmin
:: Place ADMIN tasks below
copy /d /Y "D:/opt/optPath.txt" "C:/Windows/System32/"
pause
exit
yo modificado reescribió su script para:
- Utilice una forma alternativa de verificar los permisos de administrador
net file && echo Admin || echo No-admin
net file && echo Admin || echo No-admin
- Agregado lanzador de 64 bits
VBScript
inicia todo como de32-bit
(redirigiendoC:/Windows/System32
aC:/Windows/SysWOW64
).
Lanzador de 64 bits: call start %WinDir%/SysNative/cmd /c %0
(Esta ventana está oculta)
Estoy escribiendo una aplicación que usa un archivo por lotes para copiar algunos archivos a otra ubicación. Estoy usando Windows 7 de 64 bits.
También he pedido privilegios de administrador usando el siguiente código:
Bloque de código para obtener ADMIN derecha :
@echo off
:: BatchGotAdmin (Run as Admin code starts)
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%/system32/cacls.exe" "%SYSTEMROOT%/system32/config/system"
REM --> If error flag set, we do not have admin.
if ''%errorlevel%'' NEQ ''0'' (
echo Requesting administrative privileges...
goto UACPrompt
)
else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%/getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%/getadmin.vbs"
"%temp%/getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%/getadmin.vbs" ( del "%temp%/getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:: BatchGotAdmin (Run as Admin code ends)
:: Your codes should start from the following line
Código para copiar un archivo a la carpeta system32 :
copy /d /Y "D:/opt/optPath.txt" "C:/Windows/System32/"
No hay ningún error en la operación de copia, pero el archivo se copia a la ubicación " C: / Windows / SysWOW64 " automáticamente. Necesitas ayuda.