小编Tec*_*rse的帖子

&& 在批处理/cmd 脚本中如何工作?

(我使用的是Win10 20H2)
我知道如果你有command A && command B,那么在“成功完成”时才command B执行是否成功的呢?command Acommand A

  • 我的第一个想法是它必须基于errorlevel's,但不可能是这样,如下所示,如果您在没有输入内容的情况下按 Enter 键,那么,正如预期的那样,您将不会看到“成功”消息,并且errorlevel是变成1
    @echo off
    :loop
    set /p u_p= && echo success
    echo current errorlevel %errorlevel%
    goto loop
    
    Run Code Online (Sandbox Code Playgroud)errorlevel但是,如果您随后输入有效的输入,尽管剩余时间为 , 您仍会收到成功消息1,那么是什么触发了&&给出成功消息呢?

  • 有人建议可能需要延迟扩展,因为如果没有它,代码会错误地报告当前的errorlevel,但是我已经尝试过,并替换引用 的行errorlevel,但我仍然得到指示成功的输出,尽管errorlevel不是0输入空输入后的所有后续输入:
    if errorlevel 1 (echo current errorlevel geq 1) else (echo current errorlevel leq 0)
    
    Run Code Online (Sandbox Code Playgroud)

我相当确定解释不是&& a 触发的0 errorlevel,而是代码导致了 …

command-line

7
推荐指数
1
解决办法
5014
查看次数

暂停 Bitlocker 保护:之后如何“擦除”明文密钥?

根据 Bitlocker 常见问题解答:“挂起会保持数据加密,但会使用明文密钥对 BitLocker 卷主密钥进行加密。明文密钥是未加密且不受保护地存储在磁盘驱动器上的加密密钥。通过未加密存储此密钥,挂起选项允许用于对计算机进行更改或升级,而无需解密和重新加密整个驱动器的时间和成本。进行更改并再次启用 BitLocker 后,BitLocker 会将加密密钥重新封装为更改为的测量组件的新值作为升级的一部分,卷主密钥被更改,保护器被更新以匹配,并且清除密钥被删除。”

我的问题是关于最后一部分。有谁知道清除密钥是如何“擦除”的?

它是否只是从文件系统中删除,但在驱动器上保持物理完整?(这意味着它可以通过数据恢复应用程序恢复?)

或者它是否也以某种方式被覆盖/破坏/变得无用?

基本上我正在考虑在 SSD 上的操作系统驱动器上启用 Bitlocker。但我担心任何小偷或攻击者需要做的就是在驱动器上运行数据恢复应用程序,然后可能恢复过去暂停后留下的工作清除密钥。

bitlocker

4
推荐指数
1
解决办法
1206
查看次数

批处理文件:在括号内使用括号?

当某些命令放在括号IF语句中时,我遇到了涉及括号的命令的问题。

下面是两个例子:

if condition (
title Cleanup (task 1)
) else (
title Cleanup (task 2)
)
Run Code Online (Sandbox Code Playgroud)

if condition (
set /a var2=(100 * %var%) + 50
) else (
set /a var2=100 * (%var% + 50)
)
Run Code Online (Sandbox Code Playgroud)

这些都会失败,甚至可能使脚本崩溃。我在这里尝试的事情可行吗?也许有某种方法可以强制标题中的括号并按字面意思设置命令?或者有一些替​​代符号可以起到同样的作用?

batch

1
推荐指数
1
解决办法
2173
查看次数

标签 统计

batch ×1

bitlocker ×1

command-line ×1