如何让 win 7 批处理文件输出唯一文件名前缀的列表?

如何让 win 7 批处理文件输出唯一文件名前缀的列表?

我的文件夹中有以下文件

MyDocuments 2014-10-10.zip
MyDocuments 2014-10-09.zip
MyPictures 2014-10-10.zip
MyPictures 2014-10-09.zip

理想情况下,我希望输出显示

MyDocuments
MyPictures

答案1

您可以使用 FOR /F 在第一个空格处拆分每个名称,并使用环境变量来跟踪已发现的名称。

@echo off
setlocal

:: Clear any existing _ variables
for /f "delims==" %%V in ('set _ 2^>nul') do set "%%V="

:: Discover and list all unique file prefixes
for /f %%F in ('dir /b /a-d') do if not defined _%%F (
  echo %%F
  set "_%%F=1"
)

相关内容