我面临的情况是我需要删除所有用户目录中的一个文件
E.g。
C:\Users\User1\Desktop\deleteme.txt
C:\Users\User2\Desktop\deleteme.txt
C:\Users\User3\Desktop\deleteme.txt
我需要一个将用户目录视为通配符的命令,所以我不需要指定任何内容。
我试过了:
C:\Users\*\Desktop\deleteme.txt
哪个不起作用:(
任何帮助将不胜感激
答案 0 :(得分:2)
您可以尝试迭代所需的文件夹:
for %%X in (C:\Users\User1 C:\Users\User2 C:\Users\User3) do (del %%X\Desktop\deleteme.txt )
或
for /d %%X in (C:\Users\*) do (del %%X\Desktop\deleteme.txt )
有一篇好文章 Iterating with "For"
<强>更新强> 这样:
for /d %%A in (C:\Users\*) do for /d %%B in (%%A\*) do echo %%B
您可以列出所有用户文件夹中的所有子目录。
答案 1 :(得分:-2)
C:\用户* \桌面\ deleteme.txt
我认为在C:\Users
之后可能会出现反斜杠,但事实并非如此。正如我刚才注意到的那样,这是语法问题。在星号前面的反斜杠被省略。
如果批处理文件证明效率不高而且您只使用Windows 7,则可以切换到PowerShell