【问题标题】:Windows Batch File for loop on user dir用户目录上循环的 Windows 批处理文件
【发布时间】:2015-08-17 12:49:50
【问题描述】:

我需要创建一个批处理文件来删除用户 appdata 目录中的特定文件。批处理文件作为本地系统执行。

我确实测试了以下场景: 命令提示符作为本地系统 - 这有效 命令提示符以管理员身份 - 这有效 作为用户的命令提示符 - 这适用于用户具有权限的所有文件夹

我将 for 循环放入批处理文件后,它就不再起作用了。 我在哪个上下文(用户、管理员、本地系统)启动它也很重要。

for /D %i in ("C:\Users\*") do del /Q /F "%i\AppData\LocalLow\Sun\Java\Deployment\deployment.properties"

退出码显示255,表示长错误。

我得到的错误如下:

C:\Windows\Scripts>sync_exeptionsiteslistandconfig_java.bat > output.txt
\Users\*") do del "i\AppData\LocalLow\Sun\Java\Deployment\deployment.properties"  /Q /F was unexpected at this time.

欢迎任何关于单行工作的帮助以及单行的批处理文件不工作的原因。

还请解释为什么它不起作用。 (我总是以本地系统运行任务)

【问题讨论】:

    标签: windows batch-file scripting


    【解决方案1】:

    这可能会做你想做的事,但它只处理普通文件夹,而不是隐藏等。

    您的问题可能是在批处理脚本中使用 %i。

    @echo off
    for /D %%i in ("C:\Users\*") do del /Q /F "%%i\AppData\LocalLow\Sun\Java\Deployment\deployment.properties" 2>nul
    

    【讨论】:

    • 嗨,非常感谢,它有效。但是你知道为什么使用 %%i 而不是 %i 吗?我仍然不明白为什么它直接在命令提示符下工作。
    • 在批处理文件中要求循环将% 符号加倍。在 cmd 提示符下,只使用了一个 %
    猜你喜欢
    • 2023-03-23
    • 2013-10-23
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多