首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WMIC和FOR循环

WMIC和FOR循环
EN

Stack Overflow用户
提问于 2016-05-20 14:08:28
回答 1查看 682关注 0票数 0

这是我的密码

代码语言:javascript
复制
wmic product get name > "programs.txt" 
FOR /f %%a IN (programs.txt) DO (
    pause
    echo %%a
    set /p variable= Delete %%a?
    pause
    IF "%variable%" == "yes" (
        wmic product where name="%%a" call uninstall
        cls
    ) ELSE (
    cls
    )
)

我试图制作一个程序,它将显示已安装的程序,并询问他们是否想卸载它们。代码运行良好,直到for循环,但随后它就退出了。我尝试了@echo on,它只是输出代码,但没有运行它。任何帮助都是很好的

编辑只是为了解释更多,当我运行代码,一切运行良好,直到for循环,然后它被搞砸了。它甚至不会在for循环之后运行暂停--它只是结束。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-20 16:22:17

问题在于您如何创建文本文件。WMIC输出为Unicode。当For循环试图读取它时,它会以ANSI (默认)文件的形式打开它。这导致了奇怪的行为。

与其重定向输出,不如将其/output如下:

代码语言:javascript
复制
wmic /output:"uniprogs.txt" product get name 

然后,您必须使用TYPE命令将它从Unicode转换为ANSI/ASCII,如下所示:

代码语言:javascript
复制
TYPE uniprogs.txt > ansiprogs.txt

现在,在ansiprogs.txt上运行for循环,一切都应该是好的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37348874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档