【问题标题】:How to set an Environmental Variable using .bat file如何使用 .bat 文件设置环境变量
【发布时间】:2017-04-03 13:05:18
【问题描述】:

我在记事本中尝试了这段代码并将其保存为 path.bat 当我双击批处理文件时,它不会设置变量...谁能告诉我我的代码错误或为我提供最佳解决方案?

@echo off
title This is your first batch script!
setx -m JAVA_HOME "C:\Users\Core i3\Desktop\New folder (2)\jdk1.7.0_71"
setx -m PATH "%PATH%;%JAVA_HOME%\bin";
exit

【问题讨论】:

  • 在命令提示符下键入 setx /? 并阅读名为 NOTE: 的部分,尤其是项目 #2 和 #3。
  • 我不明白你刚才说什么。你能再具体一点吗? @KenWhite
  • 我说打开一个命令窗口。输入setx /? 并按回车键。阅读屏幕上出现的内容,尤其是以 *NOTE 开头的部分,并密切注意编号为 2 和 3 的项目中写的内容。我不知道如何比这更具体,不来坐在你的办公桌前,为你做一切。 :-)
  • @CodeBae - 你在使用windows xp 吗?
  • 您似乎弄乱了PATH 变量;否则,不应出现错误消息'setx' is not recognized as an internal or external command, operable program or batch file.。你也可以尝试指定setx的完整路径:"%SystemRoot%\System32\setx.exe"...

标签: batch-file environment-variables


【解决方案1】:

setx 不为当前会话设置变量,它为将来创建的cmd 实例设置它。

【讨论】:

  • 代码示例的工作似乎非常令人满意。你需要什么帮助?可能在exit 之前添加一行pause。那应该告诉您运行批处理的结果是什么。设置title 没有什么意义,因为它所做的只是为将来的cmd 实例设置变量,然后关闭。
  • 我认为,命令行不是由管理权限(以管理员身份运行)执行的......我该如何实现?
  • 但是,path 是一个变量,用于指定检查可执行文件的目录序列。因为当您运行该文件时,java_home 未建立(它只为 future cmd 实例设置)然后您将添加;\bin 到您现有的path。如果未找到 setx,那么它应该c:\windows\system32c:\windows\syswow64 中 - 其中一个或两个应该在您当前的 path 中。
  • 你能把代码提供给我吗?我是批处理文件系统的新手,我是初学者...
  • 好吧-第一件事-不要。您需要先复制您当前的path,以便如果您损坏它,您可以恢复它。在命令提示符下,执行set>somefilename.txt 将您当前的环境记录在一个文件中。然后您可以使用notepad 或编辑器来检查文件。要使用管理权限运行,请右键单击对象并选择“以管理员身份运行”
猜你喜欢
  • 1970-01-01
  • 2014-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多