【问题标题】:Setting system variables using bat file使用 bat 文件设置系统变量
【发布时间】:2021-04-16 01:05:05
【问题描述】:

我想编写一个 bat 文件来在任何 Windows 系统上设置系统变量。我制作的软件需要设置路径,而不是要求用户处理我听说我们可以使用 bat 文件完成此任务的方法,所以我尝试了多种设置路径的方法,其中大多数是所有现有路径的副本,而不是添加新路径,有时它会删除所有路径并仅保留新路径

setx Path "%Path%;c:\ffmpeg"

复制所有现有的路径变量

我确实阅读了有关此问题的多个 Stackoverflow 查询,但没有任何帮助 如果您在您的系统上进行测试以检查 请先保存/复制所有路径
谢谢 埃斯瓦尔

【问题讨论】:

标签: batch-file cmd command


【解决方案1】:

我不建议你弄乱系统变量,但如果你想从 cmd 存储路径使用

setx Path "%Path%;C:\your\path\here\" C:\ffmpeg\bin

我在 Windows 10 上进行了测试,它对我有用
希望它也适用于你!

【讨论】:

【解决方案2】:

不会建议你弄乱系统变量,但如果你想为你的程序存储路径,这里有一个脚本可以做到这一点但在这样做之前我会鼓励你为存储在系统变量%Path%中的文件和所有路径进行备份,如果发生某些事情,请阅读this,但无论如何这里有一个对我有用的脚本:

@echo off
echo validating Path
ping localhost -n 2 >nul
set "store_path=Path to your program "
rem /M to set the variable in system wide environment
setx Path "%path%;%store_path%"
setx Path "%path%;%store_path%" /M

我只是用旧路径存储新路径。

【讨论】:

  • 我不知道有什么问题,但即使使用您的代码,它也只会创建重复/多个副本,并且并不总是有效
  • @EswarT 尝试在最后 2 个命令中不带分号的情况下使用它,我认为您使用的是 Windows 10,这就是它无法正常工作的原因。我在 Windows 7 上检查了它
  • 是的,我正在使用 Windows 10,即使尝试也没有用
  • @Justaus3r,你真的看过 Mofi 的任何 cmets。很明显,这不是执行任务的方式,因为它仍然会重复一些条目,(除非用户没有定义的 %Path% 变量)。他们甚至提供了几个链接来解释原因!
  • @Compo 对于您的友好信息,它没有复制我的任何条目。这就是为什么我放置脚本并指定它工作的操作系统版本,并在使用它之前发出警告,我知道它是这不是存储路径的理想方式,这就是我警告它的原因!....
猜你喜欢
  • 1970-01-01
  • 2014-10-25
  • 2014-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多