批处理文件 FOR 循环奇怪的输出 "bcdedit"

batch file FOR loop weird output with "bcdedit"

我想了解批处理文件中的 FOR 循环。此代码:

FOR /F %%V IN ('bcdedit') DO @echo %%V
pause
exit

给出此输出:

C:\Users\me\Desktop>FOR /F %V IN ('bcdedit') DO @echo %V
The
Access

C:\Users\me\Desktop>pause
Press any key to continue . . .

bcdedit 是一个配置引导管理器的程序。 运行 bcdedit 在控制台给出:

Windows Boot Manager                                                            
--------------------                                                            
identifier              {bootmgr}                                               
device                  partition=\Device\HarddiskVolume1                       
description             Windows Boot Manager                                    
locale                  en-US                                                   
inherit                 {globalsettings}                                        
integrityservices       Enable                                                  
default                 {current}                                               
resumeobject            {5af9a946-5290-11e3-bd93-d2aed7e9b7a5}                  
displayorder            {current}                                               
toolsdisplayorder       {memdiag}                                               
timeout                 30                                                      

Windows Boot Loader                                                             
-------------------                                                             
identifier              {current}                                               
device                  partition=C:                                            
path                    \Windows\system32\winload.exe                           
description             Windows 8.1                                             
locale                  en-US                                                   
inherit                 {bootloadersettings}                                    
recoverysequence        {5af9a948-5290-11e3-bd93-d2aed7e9b7a5}                  
integrityservices       Enable                                                  
recoveryenabled         Yes                                                     
allowedinmemorysettings 0x15000075                                              
osdevice                partition=C:                                            
systemroot              \Windows                                                
resumeobject            {5af9a946-5290-11e3-bd93-d2aed7e9b7a5}                  
nx                      OptIn                                                   
bootmenupolicy          Standard                                                
useplatformclock        Yes

"The"和"Access"这两个词是从哪里来的?

我会尝试

FOR /F "delims=" %V IN ('bcdedit') DO @echo %V

查看整行。

我建议 Access 可能是响应中的第一个标记 Access Denied

您 运行 bcdedit 没有管理员权限,产生以下输出:

The boot configuration data store could not be opened.
Access is denied.

您的输出来自每行的第一个单词。确保您 运行 在提升的命令提示符下。