我正在尝试回显 HKCU 目录中每个注册表项的列表。 在CMD中,我可以运行以下命令
TEMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp
TMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp
正确返回
FOR /D %%K in ("%appdata%\Mozilla\Firefox\Profiles\*") DO (
@echo %%~nxK
)
但是,我正在尝试修改以下 FOR 循环,该循环是为了在正常的Windows目录结构中循环文件和文件夹而创建的,但在使用注册表项时它不起作用
FOR /D %%K in ("REG QUERY HKCU\Environment\") DO (
@echo %%~nxK
)
上述循环正常工作并输出所有目录名
我尝试将其更改为
int main()
{
char line[100], res[100], temp[20];
fgets( line, 100*sizeof(char), stdin);
int i, j, l;
for( i=strlen(line)-1; i>=0; i--)
{
if(line[i]==' ')
for(j=i+1, l=0; line[j]!=' ' && line[j]!='\0'; l++, j++)
temp[l]=line[j];
temp[++l]=' ';
temp[++l]='\0';
strcat(res, temp);
}
puts(res);
return 0;
}
以上似乎不起作用。
此外, FOR 循环中提供的 / D 参数显然是 syntax-FOR-Folders ,但我不知道是什么注册表项将被识别为。
答案 0 :(得分:0)
你的意思是提取这样的路径:
@echo off
FOR /F "tokens=2*" %%a in ('REG QUERY HKCU\Environment\') DO @echo "%%b"
Pause