【发布时间】: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
【问题讨论】:
标签: batch-file cmd delete-file