柠檬时代 发表于 2022-8-15 14:16:47

【求助】AU3执行Bat命令

本帖最后由 柠檬时代 于 2022-8-15 14:19 编辑

bat命令如下:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /f *.bak /k想在AU3中执行这段命令,使用$command和_RunDos命令。不想使用Fileinstall命令。AU3怎么修改呢?
$command = "for /f "delims=" %%A in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /f *.bak /k"

afan 发表于 2022-8-15 14:16:48

本帖最后由 afan 于 2022-8-15 16:07 编辑

Local $sSubKey = '', $ii = 1
Local $sMKey = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList'
Do
        $sSubKey = RegEnumKey($sMKey, $ii)
        If @error Then ExitLoop
        If StringRegExp($sSubKey, '(?i)\.bak$') Then
                RegDelete($sMKey & '\' & $sSubKey)
                ContinueLoop
        EndIf
        $ii += 1
Until 0

lixiaolong 发表于 2022-8-15 15:04:20

RegEnumKey
读取注册表子键的名称.

RegEnumKey ( "键名", 序数 )

函 数 示 例

#include <MsgBoxConstants.au3>

Local $sSubKey = ""
For $i = 1 To 10
    $sSubKey = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE", $i)
    If @error Then ExitLoop
    MsgBox($MB_SYSTEMMODAL, "子键 #" & $i & " 在 HKLM\SOFTWARE: ", $sSubKey)
Next

柠檬时代 发表于 2022-8-15 15:18:46

lixiaolong 发表于 2022-8-15 15:04
RegEnumKey
读取注册表子键的名称.



你好,首先感谢协助解答问题。按照此方法会把注册表中的所有信息都列出来了,怎么修改才可以删除带.bak后缀的项给删除

zghwelcome 发表于 2022-8-15 17:00:22

Run(@ComSpec & ' /c for /f "delims=" %A in (''reg.exe query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /f *.bak /k'') do reg.exe delete "%A" /f',@SystemDir,@SW_HIDE )

邪恶海盗 发表于 2022-8-15 23:24:22

我想知道瘟七禁用UAC时如何以管理员权限运行批处理命令?
页: [1]
查看完整版本: 【求助】AU3执行Bat命令