90 votes

Dépasser la limite de 1024 caractères avec setx

J'essaie de définir des variables d'environnement à l'aide de la fonction setx comme suit

setx PATH "f : \common outils \git\bin ;f : \common outils \python\app ;f : \common outils \python\app\<strkeep>scripts<strkeep> ;f : \common outils \ruby\bin ;f : \masm32\bin ; F:\Borland\BCC55\Bin ;%PATH%"

Cependant, je reçois l'erreur suivante si la valeur est supérieure à 1024 caractères :

AVERTISSEMENT : Les données enregistrées sont tronquées à 1024 caractères.

SUCCES : La valeur spécifiée a été enregistrée.

Mais certains des chemins à la fin ne sont pas sauvegardés dans la variable, je suppose que cela est dû à la limite de caractères comme le suggère l'erreur.

-1voto

irvnriir Points 117

Juste un petit emballage prêt à l'emploi de la version Powershell . Enregistrez ceci comme un .cmd o .bat Fichier texte, UTF-8 ou ASCII. N'oubliez pas de redémarrer les programmes qui étaient en cours d'exécution pendant la modification.

@echo off
set br=^

rem br;
pushd "%~dp0"       &rem Working/{temp files} Directory . pat>->paf ;
setlocal enableExtensions enableDelayedExpansion

rem # Required :
rem Windows Powershell v1.0 by Microsoft .
rem # ;

echo Make sure to run this as Administrator .!br!
pause
echo(
set v=

set /p v=Enter the items to add . Separate by, and end the list with ";" . Do not use quotes .!br!!br!&     rem #optional

rem set v=C:\Windows\WinSxS;!v!     &rem MSBuild ; #optional

"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command "[Environment]::SetEnvironmentVariable('Path',\"%v%$([Environment]::GetEnvironmentVariable('Path','Machine'))\",'Machine');"      &rem Windows Powershell by Microsoft ;

:sc_n
rem endlocal
rem popd
pause
rem exit /b

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X