for循环中的“set _”是什么?

时间:2013-06-06 19:47:32

标签: batch-file

我有一个问题,Win7在关机屏幕上挂了超过30分钟..... 然后我发现这个批处理文件是原因,但我不明白这是什么目的。

关闭仅在加入域后挂起。 此批处理文件位于c:\ ntfs \ bin中 删除此批处理文件后,不再挂起

问题已修复,但我想知道这个脚本是什么意思。我不太了解批处理文件 请给我一个提示


@echo off
for /f "usebackq tokens=1-2 delims==" %%a in (`set _`) do set %%a=

2 个答案:

答案 0 :(得分:2)

使用得更好:

for /f "delims==" %%a in ('set "_"') do set "%%a="

此代码删除当前_块中以setlocal-endlocal(下划线)开头的所有环境变量。如果在没有setlocal命令的批处理文件中使用它,则会从当前命令提示符会话中删除变量。

在这种情况下不需要使用usebackqtokens,有关命令提示符的更多帮助,请参阅help for

答案 1 :(得分:0)

删除所有以下划线开头的变量(例如_test_whatever