2013-10-24 95 views
1

我編寫了一個.bat文件,它在顯示子文件夾內容的根文件夾的每個子文件夾中創建一個文本文件。我現在遇到的問題是創建第二個.bat,它將從子文件夾位置刪除所述文本文件。 .bat創建.txt文件位於下方。任何幫助是極大的讚賞!從多個位置刪除特定文本文件的批處理文件

@echo off 
IF EXIST "R:\Projects\000" PUSHD "R:\Projects\000\" 
FOR /F "tokens=*" %%G in ('dir /a:d-s-h /b') do ( 
    dir /s/b > R:\Projects\000\%%G\Folder_Contents.txt 
) 
POPD 
+0

它看起來像你的問題格式不正常工作,你可以看看它嗎?我認爲「>」是你想要展示的部分。 – ralight

回答

1

這幾乎是一樣的你當前的腳本。

delAllFolderContent.bat

@ECHO OFF 

IF EXIST "R:\Projects\000" (
    PUSHD "R:\Projects\000" 
    FOR /F "tokens=*" %%G in ('dir /a:d-s-h /b') DO ( 
     DEL "R:\Projects\000\%%G\Folder_Contents.txt" 
) 
    POPD 
) 

我感動FOR/F代碼到IF EXIST塊,所以只有當目錄存在,而且並不總是會被執行。

1

如果我真的瞭解你。它看起來像這樣:

@ECHO OFF 

IF EXIST "C:\Temp\" PUSHD "C:\Temp\" 
ECHO @ECHO OFF > loc.bat 

FOR /F "tokens=*" %%G in ('dir /a:d-s-h /b') DO ( 
    DIR /s/b > C:\Temp\%%G\Folder_Contents.txt 
    ECHO DEL C:\Temp\%%G\Folder_Contents.txt >> loc.bat 
) 
POPD 
+0

+1,我想你有一個解決方案,但我不確定OP是否想動態創建第二個批處理文件 – jeb

1
del "R:\Projects\000\folder_contents.txt" /s 
+0

您錯過了目錄名稱中的'\ %% G \'部分 – jeb

+1

爲什麼需要?如果所有folder_contents.txt文件在000文件夾下生成,del中的/ S將遞歸地刪除。 –

+0

+1哇,你說得對!我不知道'DEL'確實分割了路徑,並在每個子目錄中查找文件名。這似乎是最好的/最簡單的解決方案 – jeb

相關問題