windows系统bat脚本命令总结之环境变量

前言

        做了一段时间的bat脚本开发,bat脚本中有各种各样的命令跟传统的编程逻辑完全不同,本专栏会讲解下各种各式的命令使用方法。

        本篇文章讲解的是获取windows系统自带的环境变量。

环境变量

1、当前脚本所在目录

%~dp0

2、当前用户目录:C:\Users\当前用户名

%USERPROFILE%

3、当前用户Local目录:C:\Users\当前用户名\AppData\Local

%LOCALAPPDATA%

4、当前用户Temp目录:C:\Users\当前用户名\AppData\Local\Temp

%TEMP% 或者 %TMP%

5、当前用户Roaming目录:C:\Users\当前用户名\AppData\Roaming

%APPDATA%

6、当前系统Windows目录:C:\WINDOWS

%SYSTEMROOT%

7、当前系统Program Files目录:C:\Program Files

 %PROGRAMFILES%

8、当前系统Program Files\Common Files目录:C:\Program Files\Common Files

%COMMONPROGRAMFILES%

9、当前系统Program Files (x86)目录:C:\Program Files (x86)

%PROGRAMFILES(X86)%

10、当前系统Program Files (x86)\Common Files目录:C:\Program Files (x86)\Common Files

%COMMONPROGRAMFILES(X86)%

将这个放到bat中执行:

@echo off

echo %~dp0
echo %USERPROFILE%
echo %LOCALAPPDATA%
echo %TEMP%
echo %TMP%
echo %APPDATA%
echo %SYSTEMROOT%
echo %PROGRAMFILES%
echo %PROGRAMFILES(X86)%
echo %COMMONPROGRAMFILES%
echo %COMMONPROGRAMFILES(X86)%

pause

运行结果:

完毕!!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Windows 操作系统中,修改环境变量后需要重新打开命令行窗口或者重新启动计算机才能使修改生效。如果想要在不重启计算机或者重新打开命令行窗口的情况下立即生效,可以使用以下方法: 1. 在 bat 脚本中使用 `setx` 命令修改环境变量,并且在修改后使用 `set` 命令强制更新当前窗口的环境变量,示例代码如下: ``` setx PATH "%PATH%;C:\NewFolder" /M set PATH=%PATH% ``` 其中,`setx` 命令用于修改系统环境变量 PATH,`/M` 参数表示修改的是系统级别的环境变量。`set` 命令用于强制更新当前窗口的环境变量,将新的环境变量值同步到当前窗口的进程中。 2. 在 bat 脚本中使用 `setx` 命令修改环境变量后,使用 `SendMessage` API 发送消息给 Windows Explorer 进程,通知它更新环境变量。示例代码如下: ``` setx PATH "%PATH%;C:\NewFolder" /M setlocal EnableDelayedExpansion set "msg=!WM_SETTINGCHANGE!" set "explorer=%SystemRoot%\explorer.exe" set "param=/select,explorer.exe" set "param=!param:\=\\!" set "param=!param:,=\,! /e,!param:~0,-1!!" if defined PROCESSOR_ARCHITEW6432 ( set "pids=" for /f "usebackq tokens=2 delims==;" %%i in (`tasklist /fi "imagename eq explorer.exe" /fi "memusage gt 50000" /fo list /v`) do ( set "pids=!pids! %%i" ) if defined pids ( echo ^<%time%^> Killing processes !pids:~1! to force Explorer restart... taskkill /pid !pids:~1! /f >nul 2>&1 ) ) else ( for /f "usebackq tokens=2 delims==;" %%i in (`tasklist /fi "imagename eq explorer.exe" /fi "memusage gt 25000" /fo list /v`) do ( set "explorer=%%i" ) ) echo ^<%time%^> Spawning Explorer process %explorer% %param%... start "" "%explorer%" %param% endlocal ``` 其中,`setx` 命令用于修改系统环境变量 PATH,`/M` 参数表示修改的是系统级别的环境变量。`SendMessage` API 用于向 Windows Explorer 进程发送消息,通知它更新环境变量。在代码中,使用了一些技巧来找到 Windows Explorer 进程的 PID,并且使用 `taskkill` 命令杀掉这些进程,然后使用 `start` 命令启动一个新的 Windows Explorer 进程,并且带上指定的参数。这样就可以在不重启计算机或者重新打开命令行窗口的情况下立即生效修改的环境变量

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

番茄小能手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值