我在一个文件夹中有大约600个不同商店的文件。他们的名字就像 StoreNum_MMDD.txt / TXT / TXT / TXT / TXT。我想找到所有独特的StoreNum。
请注意扩展名,该命令应搜索所有可能的组合。
例如。 如果有4个文件,比如
123_0221.txt
32145_1220.txt
123_1020.TXT
455_0412.txT
然后我的输出应该是
123
32145
455
这是我的代码:
FOR /F "tokens=1 delims=_ " %%i in (%FILE%) do ( echo %%i )
但这会产生所有
123
32145
123
455
重复“123”
答案 0 :(得分:1)
@echo off
setlocal
rem Process all files and create *unique* array elements per store
for /F "delims=_" %%i in ('dir /B *.txt') do set "store[%%i]=1"
rem Show *subscripts* of elements in "store" array (not the value, that is always 1)
for /F "tokens=2 delims=[]" %%i in ('set store[') do echo %%i
有关批处理文件中阵列管理的更多详细信息,请参阅:Arrays, linked lists and other data structures in cmd.exe (batch) script
如果您对for
命令有疑问,请查看建议的链接。
如果要创建输出文件,请在括号中将整个最后for
命令括起来并使用(redirection to an) > output
文件。