2016-06-29 51 views
0

我有一個包含在每一行的文件名(圖片)的文本文件刪除文件:的Windows CMD:從一個文件夾

Pic1.png 
Pic2.jpg 
Pic3.png 
Pic4.gif 

有一個批處理命令來從.txt文件所有這些文件的名稱並刪除它們?

我嘗試這樣做:for /f "delims=" %%f in (files.txt) do del "%%f" ,但我有錯誤:%% f爲意外

感謝

+2

您需要'%% f'在批處理文件中,但在命令行中需要'%f'。如果你在命令行上使用'%% f',你會得到錯誤。 – TessellatingHeckler

+1

你標記了你的問題[tag:batch-file],所以你會收到答案;如果你想要一個與'cmd'(命令提示符)相關的答案,還要另外標記它[tag:cmd] ... – aschipfl

+0

你是對的,我的不好 – user708683

回答

1

你可以做這樣的事情有一個批處理文件:

@echo off 
for /f "delims=" %%a in ('Type files.txt') Do (Del /F /Q "%%a") 
pause 

在命令行你應該這樣做:

for /f "delims=" %a in ('Type files.txt') Do (Del /F /Q "%a") 
+0

我有同樣的錯誤:%% a是意外的 – user708683

+0

@ user708683檢查我最後的編輯! – Hackoo

1

for/F選項表示它將讀取file.txt參數並影響文件的每個標記的變量。當每行有一個項目或由空白分隔時,無需指定分隔符。

你必須仔細的「%」 .bat文件

煤焦

for /F %%a in (file.txt) do del /f /q %%a 

從命令行(如上面的回答說明),只需刪除多餘的「%」或你有%%a was unexpected您報告的錯誤。

for /F %a in (file.txt) do del /f /q %a 
+0

我有同樣的錯誤:%% a是意外 – user708683

+0

請編輯更多的信息。僅限代碼和「嘗試這個」的答案是不鼓勵的,因爲它們不包含可搜索的內容,也不解釋爲什麼有人應該「嘗試這個」。我們在這裏努力成爲知識的資源。 – abarisone

0

while read -r file;做RM - 「$文件」;做< A.TXT

其中A.TXT就是要刪除所有文件列

文件名

假設A.TXT包含是

A.java

B.java

C.java

那麼如果執行以下命令,然後在所有A.TXT文件中列出的文件將被刪除

while read -r file;做RM - 「$文件」;完成< a.txt

+0

Windows批處理,而不是bash。這會給'while'不被識別爲內部或外部命令' – TessellatingHeckler

+0

它將只在linux系統上工作 – sanjeevjha

+0

這不是問題的要點 –

相關問題