返回列表 发帖
本帖最后由 terse 于 2023-12-1 19:39 编辑

直接删除节点呢 修改把文件名传进去
@set @n=0;/* & echo off & cscript -nologo -e:jscript "%~0" "appxmanifest.xml" "appxmanifest2.xml"&pause & exit  */
var xml = new ActiveXObject("Msxml2.DOMDocument");
xml.load(WScript.Arguments(0));
var node = xml.selectSingleNode("//Application[@Id='WindowsBackup' and @Executable='WindowsBackupClient.exe' and @EntryPoint='WindowsBackup.App']");
if (node != null) {
    node.parentNode.removeChild(node);
}
xml.save(WScript.Arguments(1));COPY

TOP

回复 31# terse


    cscript v 不是内部命令

TOP

回复 32# lovekix
怎么后面跟个v? 将代码里cscript改为cscript.exe试,或者检测一下,
for %%i in (cscript.exe) do echo;文件路径 %%~$PATH:iCOPY

TOP

回复 33# terse


    PE 下没有cscript。exe 这个文件

TOP

回复 28# 77七


    如果想多删除
<Application Id="WebExperienceHost" Executable="WebExperienceHostApp.exe" EntryPoint="WebExperienceHostApp.App"
这段

需要 怎么弄?

TOP

回复 34# lovekix
PE下没测试,35楼是想是删除两节吗
@echo off
set "str1=<Application Id="WindowsBackup" Executable="WindowsBackupClient.exe" EntryPoint="WindowsBackup.App" uap10/*[0-9]*:TrustLevel="mediumIL" uap10/*[0-9]*:RuntimeBehavior="windowsApp">"
set "str2=<Application Id="WebExperienceHost" Executable="WebExperienceHostApp.exe" EntryPoint="WebExperienceHostApp.App""
set "str1=%str1:"=\"%"
set "str2=%str2:"=\"%"
for /f "delims=:" %%a in ('findstr /ibnrc:"[ ]*%str1%"   /c:"[ ]*%str2%" "appxmanifest.xml"') do set _%%a=1
set "flag="
(for /f "tokens=1* delims=:" %%a in ('findstr /n .* "appxmanifest.xml"') do (
     if defined flag (
           for /f %%i in ("%%b") do  if "%%i" == "</Application>" set "flag="
     ) else if defined _%%a (
           set "flag=1"
     ) else echo %%b
))>new_appxmanifest.xml
pauseCOPY

TOP

本帖最后由 lovekix 于 2023-12-2 16:24 编辑

回复 36# terse


要是  以后删除第三段  代码 需要怎么弄?

还有 莫名多出  2个   ECHO 处于关闭状态

TOP

回复 37# lovekix
可以将echo %%b改成echo;%%b试一下

另外,要加关键词 第4至8行这样改
set "str3=<Application Id="FESearchUI" Executable="FESearchHost.exe" EntryPoint="CortanaUI.App">"
set "str1=%str1:"=\"%"
set "str2=%str2:"=\"%"
set "str3=%str3:"=\"%"
for /f "delims=:" %%a in ('findstr /ibnrc:"[ ]*%str1%"   /c:"[ ]*%str2%"  /c:"[ ]*%str3%" "appxmanifest.xml"') do set _%%a=1COPY

TOP

返回列表