Frage

Ich versuche, mein DOS-Umgebungsvariable in Ruby zu setzen, und habe sie bestehen bleiben, nachdem das Skript beendet. Zum Beispiel, wenn ich einen Ruby-Skript set_abc_env.rb auf Umgebungsvariable ‚ABC‘ auf ‚blah‘ will, erwarte ich folgende ausführen:

C:> echo %ABC%
C:> set_abc_env.rb
C:> echo %ABC% blah

Wie kann ich das tun?

Andere Tipps

Für alle anderen der Suche nach einer Lösung für dieses und suchen nach einem eher ein Hack, der nicht in der Anmeldung nicht erforderlich oder aus kam ich für ein ähnliches Problem bei dieser Lösung:

Abhilfe:

Meine Arbeit ist um abhängig von der Kombination von Rubin und einem Kommandozeilen-Utility namens SETENV.EXE von Vincent Fatica develped. Es ist mehr als ein Jahrzehnt alt an diesem Punkt aber funktioniert in Windows XP in Ordnung (nicht getestet unter Windows 7 noch) nicht. Es funktioniert besser als setx Dienstprogramm von MS IMHO zur Verfügung. Zu damit für Sachen zu löschen. Stellen Sie sicher, setenv von der Kommandozeile zur Verfügung. Legen Sie es in ein c: \ tools und setzen c. \ Tools in der PATH

Hier ist ein kurzes Beispiel für ein Verfahren unter Verwendung von ihm:

def switch_ruby_env
  if RUBY_VERSION.match("1.8.7").nil?  
    `setenv -m CUSTOM_PATH " "`
  else
    `setenv -m CUSTOM_PATH -delete`
  end
end 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top