用于从多个位置删除特定文本文件的批处理文件

时间:2013-10-24 22:45:14

标签: batch-file

我写了一个.bat文件,在根文件夹的每个子文件夹中创建一个显示子文件夹内容的文本文件。我现在遇到的问题是创建第二个.bat,它将从子文件夹位置删除所述文本文件。我创建.txt文件的.bat位于下方。非常感谢任何帮助!

@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 

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

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

答案 2 :(得分: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块中,因此只有在目录存在且不总是存在时才会执行。