【问题标题】:What does "set _" in a for loop?for循环中的“设置_”是什么?
【发布时间】:2013-06-06 19:47:32
【问题描述】:

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

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

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


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

【问题讨论】:

  • 更改问题标题

标签: batch-file


【解决方案1】:

使用更好:

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

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

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

【讨论】:

  • 这和关机过程有关系吗?电脑只有在域中时才会挂在关机屏幕上......
  • 在纯Windows中我无法想象这样的过程。但是,是的,如果某些(或仅一个)被删除(病毒?),您可以制作一个查看环境变量的程序并关闭系统。但不是 Windows 本身。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 2022-01-12
    • 2019-04-19
    • 2019-02-20
    • 2018-03-14
    • 2020-08-31
    • 1970-01-01
    相关资源
    最近更新 更多