[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[原创教程] 用 PowerShell 快速查看 PATH 环境变量

原始链接:用 PowerShell 快速查看 PATH 环境变量
发表日期:2014-08-05


我们常常需要查看 `PATH` 环境变量里是否有我们需要的路径。通常的做法是:

1. 依次打开 系统属性 / 高级 / 环境变量。
2. 分别在“用户变量”和“系统变量”列表框中双击 PATH 条目。
3. 在“变量值”窄小的文本框中检视 PATH 变量的值。
4. 往往不得不把变量值复制粘贴到记事本中,再利用搜索功能来查找。

利用 PowerShell,可以告别以上笨拙的步骤:
  1. PS > (type env:path) -split ';'
复制代码
这样就可以看到一个完美分割过的列表了。当然,利用 PowerShell 强大的查询功能,还可以进一步节省眼力。例如我们要查询所有包含“bin”的路径:
  1. PS > (type env:path) -split ';' | sls bin
  2. C:\PROGRAM FILES (X86)\JAVA\JDK1.7.0_45\JRE\BIN
  3. C:\PROGRAM FILES (X86)\INTEL\OPENCL SDK\2.0\BIN\X86
  4. C:\PROGRAM FILES (X86)\INTEL\OPENCL SDK\2.0\BIN\X64
  5. C:\PROGRAM FILES\MICROSOFT SQL SERVER\110\TOOLS\BINN\
  6. D:\greensoft\UnxUtils\usr\local\wbin\
  7. C:\Program Files\Microsoft SQL Server\120\Tools\Binn\
  8. C:\Program Files\TortoiseGit\bin
  9. C:\Chocolatey\bin
  10. c:\Program Files\MongoDB 2.6 Standard\bin
复制代码
PowerShell 群:271143343

学习了,,原来ps里是用env显示变量。

TOP

本帖最后由 CrLf 于 2014-8-11 14:29 编辑

回复 2# Linuxer


   确切说是环境变量,ps 真正的变量是以 $varname 形式引用的
  1. (type env:path) -split ';'
复制代码
也可以写成:
  1. $env:path -split ';'
复制代码

TOP

回复 3# CrLf


    原来还可以$env表示。。哈哈。多谢。
顺便问下,bat中,怎么写代码可以实现
  1. (type env:path) -split ';'
复制代码
这样的输出显示结果?
sed会写,但是用for写出来的总是不对。
  1. @echo off
  2. set path > path.txt
  3. for /f "delims=; tokens=1,*" %%i in (path.txt) do echo %%i %%j
  4. pause
复制代码
这个能显示,但是没有上边的那个分行效果。还有in (path.txt) 怎么不能直接用in (set path)代替呢,会提示系统找不到文件set。

TOP

回复 4# Linuxer


批是这样:
  1. @echo off
  2. %1 cmd /v /c %0 :
  3. echo !path:;=^
  4. !
  5. pause
复制代码
与其 set path 不如直接用 path,for /f 中执行命令要写成 in ('path') do
1

评分人数

    • plp626: 有你这样的么, 好吧, 以后给公司写bat脚本就 ...PB + 10

TOP

回复 5# CrLf


多谢~~~效果出来了,执行结果:

就是不太懂代码的意思。。
不知道为啥我的path里有个单独的分号。

TOP

回复 6# Linuxer


写成这样更容易理解:
  1. echo %path:;=&echo;%
复制代码
不过其实是不一样的实现方式

TOP

回复 7# CrLf


    嗯。。这就容易理解的多。 能看懂。

TOP

谢谢大神普及,学习了。

TOP

返回列表