2011-04-09 185 views
1

我面临一种情况,我需要删除所有用户目录中的一个文件cmd文件中的通配符

例如,

C:\Users\User1\Desktop\deleteme.txt 
C:\Users\User2\Desktop\deleteme.txt 
C:\Users\User3\Desktop\deleteme.txt 

我需要一个将用户目录视为通配符的命令,所以我不需要指定任何内容。

我曾尝试:

C:\Users\*\Desktop\deleteme.txt 

不工作:(

任何帮助,将不胜感激

+0

对不起,我曾尝试:C:\用户\ * \桌面\ deleteme.txt(出于某种原因,这个编辑器不会让我插入双反斜杠 – James 2011-04-09 20:47:59

回答

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"

UPDATE 这样:

for /d %%A in (C:\Users\*) do for /d %%B in (%%A\*) do echo %%B 

你可以列出所有子目录中的所有用户的文件夹。

+0

但问题是,我不知道用户名事先,因此通配符是必要的,所以没有办法做到这一点呢?:( – James 2011-04-09 21:04:04

+1

然后使用第二种方式。它应该工作 – StKiller 2011-04-09 21:08:45

+0

对不起,我没有读你答复正确。非常感谢你,你节省了我很多时间:)谢谢! – James 2011-04-09 21:10:42

-2

C:\用户* \桌面\ deleteme.txt

我想可能有一个反斜杠C:\Users后失踪,但事实并非如此。正如我刚才注意到的那样,这是这里的语法问题。 astrisk前面的反斜杠被忽略。

如果一个批处理文件证明非充分,并要在Windows 7只是工作,你可以切换到PowerShell

+0

为了得到缺少的反斜杠,你必须使用双反斜杠:'C:\ Users \\ *'' – Teetrinker 2011-04-09 20:50:45

+0

Unfortunateley它是一个混合平台(XP +),所以没有办法实现我想在cmd中做的事情? – James 2011-04-09 21:05:13

+0

缺少的反斜杠只是一个格式问题,现在已经解决了。尽管如此,请参阅其他答案。这对于'cmd'来说是微不足道的。 – Joey 2011-04-09 23:19:50