Java Powershell环境设置

Java Powershell环境设置,java,windows,powershell,batch-file,Java,Windows,Powershell,Batch File,这是一个非常快速的问题,因为我很紧张,不想破坏我的批处理文件/java环境,或者让我的笔记本电脑爆炸 我过去常常从cmd.exe执行一个.bat文件,以将我的环境设置为java,这样可以正常工作,但现在我已经升级到Windows Powershell 我已经创建了一个.bat文件的Powershell.ps版本,以将我的java环境路径设置为bellow echo "setting environment to Java" $env:path="$env:Path;C:\Program File

这是一个非常快速的问题,因为我很紧张,不想破坏我的批处理文件/java环境,或者让我的笔记本电脑爆炸

我过去常常从cmd.exe执行一个.bat文件,以将我的环境设置为java,这样可以正常工作,但现在我已经升级到Windows Powershell

我已经创建了一个.bat文件的Powershell.ps版本,以将我的java环境路径设置为bellow

echo "setting environment to Java"
$env:path="$env:Path;C:\Program Files\Java\jdk1.8.0\bin"
这很好,但是我想知道是否有可能包含第二行代码来将JDBC添加到类路径中

echo "setting environment to Java"
$env:path="$env:Path;C:\Program Files\Java\jdk1.8.0\bin"
$env:path="$env:Path;C:\Program Files (x86)\MySQL\MySQL Connector J"
只是想要第二个意见,以避免破坏一切(我以前做过)


这最终会设置我的环境并添加一个额外的类路径,还是仅仅用MySQL连接器路径覆盖环境。

您所拥有的应该没问题。要与其他内容保持一致,请在路径末尾加反斜杠。此外,如果您认为您的脚本可能会被多次调用,并且希望始终确保清除路径中的重复项,则可以尝试使用以下内容创建AddToPath函数:

function AddToPath ([string]$path)
{
  $delimeter = ';'
  $path = Get-Item -path $path
  $newEnvPath = $env:path + ";" + $path
  $newEnvPath = ($newEnvPath -split $delimeter | select -Unique) -join $delimeter
  $env:path = $newEnvPath
}

然后,您可以
AddToPath-path“C:\Program Files\Java\jdk1.8.0\bin\”
,等等。

您所拥有的应该很好。要与其他内容保持一致,请在路径末尾加反斜杠。此外,如果您认为您的脚本可能会被多次调用,并且希望始终确保清除路径中的重复项,则可以尝试使用以下内容创建AddToPath函数:

function AddToPath ([string]$path)
{
  $delimeter = ';'
  $path = Get-Item -path $path
  $newEnvPath = $env:path + ";" + $path
  $newEnvPath = ($newEnvPath -split $delimeter | select -Unique) -join $delimeter
  $env:path = $newEnvPath
}

然后,您可以
AddToPath-path“C:\Program Files\Java\jdk1.8.0\bin\”
,等等。

您所拥有的应该很好。要与其他内容保持一致,请在路径末尾加反斜杠。此外,如果您认为您的脚本可能会被多次调用,并且希望始终确保清除路径中的重复项,则可以尝试使用以下内容创建AddToPath函数:

function AddToPath ([string]$path)
{
  $delimeter = ';'
  $path = Get-Item -path $path
  $newEnvPath = $env:path + ";" + $path
  $newEnvPath = ($newEnvPath -split $delimeter | select -Unique) -join $delimeter
  $env:path = $newEnvPath
}

然后,您可以
AddToPath-path“C:\Program Files\Java\jdk1.8.0\bin\”
,等等。

您所拥有的应该很好。要与其他内容保持一致,请在路径末尾加反斜杠。此外,如果您认为您的脚本可能会被多次调用,并且希望始终确保清除路径中的重复项,则可以尝试使用以下内容创建AddToPath函数:

function AddToPath ([string]$path)
{
  $delimeter = ';'
  $path = Get-Item -path $path
  $newEnvPath = $env:path + ";" + $path
  $newEnvPath = ($newEnvPath -split $delimeter | select -Unique) -join $delimeter
  $env:path = $newEnvPath
}

然后,您可以
AddToPath-path“C:\ProgramFiles\Java\jdk1.8.0\bin\”
等等。

比这更简单<代码>“C:\path\java\blah”,“C:\path\otherjava”|其中{$env:path-notmatch[regex]::escape($)}| ForEach{$env:path+=”;$"}或在您的函数中
如果($env:path-notmatch$path){$env:path+=“;$path”}
相信其他任何东西都没有复制过,但我喜欢它。这种改变正在我的个人脚本中进行。谢谢你,Themmad!确实如此,但对于添加路径来说,这是理想的。清理$env:path变量可能会更好。哦,我刚刚注意到,我在第一条注释中输入的第二个代码片段中没有
[regex]::escape($path)
。如果您将其合并到脚本中,您可能需要修复此问题。再次在我的计算机上睡着=我刚找到它无法工作的原因,它在程序文件(x86)上崩溃了。我认为括号干扰了路径。有办法逃出括号吗?比那容易<代码>“C:\path\java\blah”,“C:\path\otherjava”|其中{$env:path-notmatch[regex]::escape($)}| ForEach{$env:path+=”;$"}或在您的函数中
如果($env:path-notmatch$path){$env:path+=“;$path”}
相信其他任何东西都没有复制过,但我喜欢它。这种改变正在我的个人脚本中进行。谢谢你,Themmad!确实如此,但对于添加路径来说,这是理想的。清理$env:path变量可能会更好。哦,我刚刚注意到,我在第一条注释中输入的第二个代码片段中没有
[regex]::escape($path)
。如果您将其合并到脚本中,您可能需要修复此问题。再次在我的计算机上睡着=我刚找到它无法工作的原因,它在程序文件(x86)上崩溃了。我认为括号干扰了路径。有办法逃出括号吗?比那容易<代码>“C:\path\java\blah”,“C:\path\otherjava”|其中{$env:path-notmatch[regex]::escape($)}| ForEach{$env:path+=”;$"}或在您的函数中
如果($env:path-notmatch$path){$env:path+=“;$path”}
相信其他任何东西都没有复制过,但我喜欢它。这种改变正在我的个人脚本中进行。谢谢你,Themmad!确实如此,但对于添加路径来说,这是理想的。清理$env:path变量可能会更好。哦,我刚刚注意到,我在第一条注释中输入的第二个代码片段中没有
[regex]::escape($path)
。如果您将其合并到脚本中,您可能需要修复此问题。再次在我的计算机上睡着=我刚找到它无法工作的原因,它在程序文件(x86)上崩溃了。我认为括号干扰了路径。有办法逃出括号吗?比那容易<代码>“C:\path\java\blah”,“C:\path\otherjava”|其中{$env:path-notmatch[regex]::escape($)}| ForEach{$env:path+=”;$"}或在您的函数中
如果($env:path-notmatch$path){$env:path+=“;$path”}
相信其他任何东西都没有复制过,但我喜欢它。这种改变正在我的个人脚本中进行。谢谢你,Themmad!确实如此,但对于添加路径来说,这是理想的。清理$env:path变量可能会更好。哦,我刚刚注意到,我在第一条注释中输入的第二个代码片段中没有
[regex]::escape($path)
。如果您将其合并到脚本中,您可能需要修复此问题。再次在我的计算机上睡着=我刚找到它无法工作的原因,它在程序文件(x86)上崩溃了。我认为括号干扰了路径。有办法吗