我该如何在PowerShell中设置这些路径?

3

你好

我正在尝试在PowerShell中设置这些路径,但在这方面一直没有成功。我有一个DOS脚本,最初是用来设置这些路径的,但现在我需要在PowerShell中设置它。

主要是,这些路径仍然用于脚本中解析信息,因此在同一呼吸中,也应该作为变量使用。如果可能的话,请帮忙。我知道PowerShell有一个Set-Location函数,但它是否符合上述目的。以下是在DOS中编写的路径:

   set CLASSPATH=D:\NetExpress\Base\Bin\WIN64\mfcobol.jar;.;%CLASSPATH%
   set COBIDY=D:\NetExpress\Base\SOURCE
   set COBLINK64=D:\NetExpress\Base\Bin\Linker
   set COBREG_64_PARSED=True
   set INCLUDE=D:\NetExpress\Base\INCLUDE
   set LIB=D:\NetExpress\Base\Lib\WIN64
   set MFTRACE_LOGS=D:\NetExpress\Base\MFTRACE\Logs
   set SCHEMA_PATH=D:\NetExpress\Base\SCHEMA
   set TXBIN=D:\NetExpress\Base
   set TXDIR=D:\NetExpress\Base
   set PATH=D:\NetExpress\Base\Bin\Linker;D:\NetExpress\Base\Bin\WIN64;D:\NetExpress\Base\Bin;D:\NetExpress\PACKAGES\x64;C:\Windows\System32\wbem;C:\Windows\System32\
   set COBPATH64=D:\NetExpress\Base\Bin\WIN64
   set LD_LIBRARY_PATH=D:\NetExpress\Base\Bin\WIN64;%int%
   set COBDIR=D:\NetExpress\Base\Bin\WIN64;%int%;D:\NetExpress\MFSQL\SOURCE
   set COBDIR64=D:\NetExpress\Base\Bin\WIN64
   set COBPATH=%exe%
   set COBCPY=%int%\LIBRYATM;%int%\LIBRYBOR;%int%\LIBRYBRO;%int%\LIBRYCHG;%int%\LIBRYCTA;%int%\LIBRYDCS;%int%\LIBRYGEN;%int%\LIBRYEN;%int%\LIBRYINV;%int%\LIBRYMIS;%int%\LIBRYSPY;%int%\LIBRYSWI;%int%\LIBRYTRE;%int%\LIBRYUNX;%int%\LIBRYCNV;D:\NetExpress\Base\SOURCE
   set LogFile=%CD%\logfile.log

如果可能的话,请协助一下...


2
可能是设置Windows PowerShell路径变量的重复问题。 - Andrey Marchuk
1
$env:CLASSPATH = "D:\NetExpress\Base\Bin\WIN64\mfcobol.jar;.;$env:CLASSPATH" 等等 - Mathias R. Jessen
1个回答

4
正如Mathias R. Jessen在评论中提到的那样,您需要使用内置的PowerShell变量$env。
$env已经定义了系统中的所有环境变量,您可以使用$env::VariableName = Value来添加它们。
例如:$env:CLASSPATH = "D:\NetExpress\Base\Bin\WIN64\mfcobol.jar;.;" + $env:CLASSPATH
如果设置环境变量是您唯一的目标,那么这应该就可以了。如果您计划稍后在同一脚本文件中使用这些脚本,则建议您改用PowerShell变量。

此外,请查看Microsoft Page以获取有关环境变量和PowerShell的更多信息。

以下这样怎么样? - Julio A.
{设置 PATH=D:\NetExpress\Base\Bin\Linker;D:\NetExpress\Base\Bin\WIN64;D:\NetExpress\Base\Bin;D:\NetExpress\PACKAGES\x64;C:\Windows\System32\wbem;C:\Windows\System32} - Julio A.
设置 COBCPY=%int%\LIBRYATM;%int%\LIBRYBOR;%int%\LIBRYBRO;%int%\LIBRYCHG;%int%\LIBRYCTA;%int%\LIBRYDCS;%int%\LIBRYGEN;%int%\LIBRYEN;%int%\LIBRYINV;%int%\LIBRYMIS;%int%\LIBRYSPY;%int%\LIBRYSWI;%int%\LIBRYTRE;%int%\LIBRYUNX;%int%\LIBRYCNV;D:\NetExpress\Base\SOURCE - Julio A.
@Julio A. 这在批处理文件中是好的,但在 Powershell 中不是。据我所知,Powershell 没有 'set' 命令/命令-let。使用 $CLASSPATH= "D:\NetExpress\Base\Bin\WIN64\mfcobol.jar;.;" + $env:CLASSPATH。您可以稍后使用 $CLASSPATH 引用它们。 - 23Stinger
1
PowerShell 有环境变量和脚本变量。环境变量是从 PSProvider "Env:name" 引用的。另外还有一组脚本变量,它们通过 "$name" 引用。 - lit
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接