如何通过批处理根据文本文件批量创建文本文件,如果文本文件重复,则在文本文件后递增数值

有一个文本文件,里面有很多行数据,想将每行数据分别存放到一个以该行数据命名的文本文件中,如果有相同的文本内容,则在后递增数值

如:文本文件内容如下:
HP001
HP002
HP002
HO003
HP002
HP004
HO003
。。。
HP999

想生成HP001.TXT(文件中写入HP001)、HP002.TXT(文件中写入HP002)、HP002_1.TXT(文件中写入HP002_1)、HO003.TXT(文件中写入HO003)、HP002_2.TXT(文件中写入HP002_2)、HP004.TXT(文件中写入HP004)、HO003_1.TXT(文件中写入HO003_1)...

请问该如何实现?

结果输出

 

你要用什么语言来写?

Batch,用批处理写的脚本

能解决创建的文件,如果同名的话,相同文件会覆盖,没办法达到同时创建两个文本文件

@echo off
for /f %%a in (111.txt) do echo %%a>%%a.htm
Pause

这是之前帖子里的代码,能解决创建文件的问题,相同的名字的话,会覆盖,希望能同时保存两个文件,后缀名以数值递增的形式

文本名,不区分大小写,这个也算是相同的文件名,这个问题也需要考虑进去,有哪位大神能帮忙解决一下,我对批处理不是特别的熟悉

@echo off
for /f %%a in (1.txt) do ( 
	echo %%a
	if exist %%a.txt ( 
		call :deal

	) else (
		echo %%a>%%a.txt
	
	)
:loop
	echo 2	
)
Pause

:deal
for /l %%i in (1,1,10) do ( 
	echo %%a_%%i
	if exist %%a_%%i.txt (
		::goto doit
		rem
	) else ( 
		echo %%a>%%a_%%i.txt 
		goto end
	) 
:doit
	echo 1
) 
:end
echo 3

 

完美解决我的问题,十分感谢@niushaolongniuniu