2011-04-09 61 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