从绝对路径中删除文件

Posted

技术标签:

【中文标题】从绝对路径中删除文件【英文标题】:Delete files from the absolute paths 【发布时间】:2012-12-15 12:04:34 【问题描述】:

我必须收集有关这两个目录(dir)的信息。第一个目录包含名称为 1.txt、3 txt、5.txt 的文件,第二个目录分别为 2.txt、4.txt、6.txt。并将输出重定向到另一个文件。文件的内容无关紧要。 之后,我必须按字母顺序对文件进行排序。

接下来,我将获取前三个文件并通过绝对路径删除它们,这意味着我将从第一个目录中删除名为 1.txt 3.txt 的文件,并从第二个目录中删除它们文件 2.txt。

我们不知道目录中的文件名。

谁能帮帮我?

@echo off
cd MainDirectory
dir /d folder1 folder2  > paths.txt
findstr /l "Diskname:" paths.txt > sorted.txt
del paths.txt
dir /b folder1 folder2 > paths.txt
findstr /l ".txt" paths.txt > minifiles.txt
del paths.txt

sort /+1 minifiles.txt > pathfiles.txt
del minifiles.txt

::next string give me just one absolute path. Last path. Path to the folder2
for /F "tokens=3 delims= " %%i in (sorted.txt) do @echo %%i > sortedFINAL.txt

::next string assigns the tmp a value : absolute path Diskname:\....\\...\folder2
For /F "Delims=" %%I In (sortedFINAL.txt) Do Set tmp=%%~I

echo %tmp%
pause

【问题讨论】:

【参考方案1】:
dir folder1 /b >>files.txt
dir folder2 /b >>files.txt
del folder1\1.txt /f /q
del folder1\3.txt /f /q
del folder2\2.txt /f /q

如果您想了解有关目录的更多详细信息,可以从dir 中删除/b 开关。

【讨论】:

以上是关于从绝对路径中删除文件的主要内容,如果未能解决你的问题,请参考以下文章

Java - 如何从绝对路径中获取文件名并删除其文件扩展名?

绝对和相对路径cd命令创建和删除目录mkdir/rmdirrm命令

目录及文件删除管理

在 Liquibase 4.0 中删除了通过绝对路径指定文件

2.6 相对和绝对路径 2.7 cd命令 2.8 创建和删除目录2.9 rm命令

从相对路径和/或文件名解析绝对路径