(我使用的是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,而是代码导致了 …
根据 Bitlocker 常见问题解答:“挂起会保持数据加密,但会使用明文密钥对 BitLocker 卷主密钥进行加密。明文密钥是未加密且不受保护地存储在磁盘驱动器上的加密密钥。通过未加密存储此密钥,挂起选项允许用于对计算机进行更改或升级,而无需解密和重新加密整个驱动器的时间和成本。进行更改并再次启用 BitLocker 后,BitLocker 会将加密密钥重新封装为更改为的测量组件的新值作为升级的一部分,卷主密钥被更改,保护器被更新以匹配,并且清除密钥被删除。”
我的问题是关于最后一部分。有谁知道清除密钥是如何“擦除”的?
它是否只是从文件系统中删除,但在驱动器上保持物理完整?(这意味着它可以通过数据恢复应用程序恢复?)
或者它是否也以某种方式被覆盖/破坏/变得无用?
基本上我正在考虑在 SSD 上的操作系统驱动器上启用 Bitlocker。但我担心任何小偷或攻击者需要做的就是在驱动器上运行数据恢复应用程序,然后可能恢复过去暂停后留下的工作清除密钥。
当某些命令放在括号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)
这些都会失败,甚至可能使脚本崩溃。我在这里尝试的事情可行吗?也许有某种方法可以强制标题中的括号并按字面意思设置命令?或者有一些替代符号可以起到同样的作用?