我有一个批处理脚本可以清除临时文件以及所有这些,但我需要帮助从注册表获取路径到脚本。特别是Outlook临时文件regkey条目。我有关键路径但我不知道如何从注册表中获取目录值并将其设置在我可以删除临时文件的位置。我可能不会做一个,但我刚开始做脚本,我想我只是吮吸大声笑。我已经完成了一个reg查询,它显示了路径,但显然设置了/ p name =或周围的任何东西都不会将%name%设置为我可以执行删除脚本的路径*。*
任何帮助都会非常感激!!!!!
setlocal ENABLEEXTENSIONS
set KEY_NAME="HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Outlook\Security"
set VALUE_NAME=OutlookTemp
pause
FOR /F "usebackq skip=4 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% ) DO (
set ValueName=%%A
set ValueType=%%B
set ValueValue=%%C
)
pause
if defined ValueName (
@echo Value Name = %ValueName%
@echo Value Type = %ValueType%
@echo Value Value = %ValueValue%
) else (
@echo %KEY_NAME%\%VALUE_NAME% not found.
)
pause
这是我在另一篇文章中尝试的内容,但最初我使用它来创建一个文件到桌面,并打算解析临时目录的文件,然后删除临时文件夹中的文件。我也暂停了一下,看看哪些有效,哪些无效。
START /W REGEDIT /E C:\Users\"username"\Desktop "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\14.0\Outlook\Security"
这使得一个reg文件到桌面,我试着找到如何解析文件并找到一个使用的帖子
FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "KeyName" /v ValueName') DO SET Variable=%%B
但这对我没有用,或者我做错了什么。推荐给我但是大声笑
答案 0 :(得分:1)
如果批处理文件中包含以下内容,则您需要的位置可用作“%ValueData%”
FOR /F "TOKENS=2*" %%I IN ('REG QUERY "HKCU\SOFTWARE\Microsoft\Office\14.0\Outlook\Security" /V OutlookSecureTempFolder') Do SET "ValueData=%%J"
然后您可以使用该变量进行删除:
DEL /S /Q "%ValueData%\*.*"