diff --git a/path-installer.ps1 b/path-installer.ps1 new file mode 100644 index 0000000..90681af --- /dev/null +++ b/path-installer.ps1 @@ -0,0 +1,43 @@ +$RutaBase = "C:\TEMP" +$ComandoNombre = "safecloud-run.cmd" +$URLGiteaBase = "https://recursos.safecloud.mx/support/scripts/raw/branch/main/" +$RutaCompleta = Join-Path $RutaBase $ComandoNombre + +$ScriptContent = @" +@echo off +set "BASE_URL=$URLGiteaBase" +if "%1"=="" ( + goto :eof +) +set "SCRIPT_NAME=%1" +set "FULL_URL=%BASE_URL%%%SCRIPT_NAME%%" + +:: CORRECCION CRITICA: Uso de la variable TEMP local +set "TEMP_FILE=%TEMP%\safecloud_temp_%%RANDOM%%_%%SCRIPT_NAME%%" + +curl -sL "%%FULL_URL%%" > "%%TEMP_FILE%%" + +if not exist "%%TEMP_FILE%%" ( + goto :CLEANUP +) + +call "%%TEMP_FILE%%" + +:CLEANUP +del "%%TEMP_FILE%%" 2>nul +goto :eof +"@ + +# 1. Creación de la carpeta y el archivo CMD (C:\TEMP) +New-Item -Path $RutaBase -ItemType Directory -Force | Out-Null +Set-Content -Path $RutaCompleta -Value $ScriptContent -Force | Out-Null + +# 2. Modificación del PATH del Sistema +$PathActual = [Environment]::GetEnvironmentVariable("Path", "Machine") +if ($PathActual -notlike "*$RutaBase*") { + $NuevoPath = "$PathActual;$RutaBase" + [Environment]::SetEnvironmentVariable("Path", $NuevoPath, "Machine") + + # Uso de SETX para forzar la actualización del PATH sin reiniciar + cmd /c "setx Path ""$NuevoPath"" /M >nul" +} \ No newline at end of file