基本上我想要做的是将批处理文件重命名为.ini而不是.bat,并将1 =表示第一行,2 =表示第二行,依此类推等等。
我的批处理文件:
@echo off
color F0
cls
:strt
echo Drag your file in this window to make a ini from it.
set /p file=File path with " " :
del config.ini
for /F "usebackq tokens=* delims=*" %%j in (%file%) do echo 1=%%j>>config.ini
for /F "usebackq tokens=* delims=* skip=1" %%j in (%file%) do echo 2=%%j>>config.ini
for /F "usebackq tokens=* delims=* skip=2" %%j in (%file%) do echo 3=%%j>>config.ini
exit
当我使用随机文本文件时,我的结果就是这个:
1=lol1
1=lol2
1=lol3
1=lol4
2=lol1
2=lol2
2=lol3
2=lol4
3=lol1
3=lol2
3=lol3
3=lol4
我想要的是这个:
1=lol1
2=lol2
3=lol3
而原始的.txt是:
lol1
lol2
lol3
lol4
所以它基本上可以工作,但它不会停在它写的第一行的末尾它写入整个文件如何解决这个问题?因为我没有选择。
答案 0 :(得分:1)
回答发现sry但这对我来说效果更好也许这会对某人有所帮助。 下面的成品。
@echo off
setLocal EnableDelayedExpansion
color F0
@mode con cols=52 lines=10
cls
echo Drag your file in this window to make a ini from it.
echo Remember if you type it in use "path" with the " "
echo.
set /p file=
echo.
for /F "usebackq tokens=* delims=*" %%j in (%file%) do (
set /a n+=1
if !n!==1 (
echo !n!=%%j>config.ini
) else (
echo !n!=%%j>>config.ini
)
)
exit
答案 1 :(得分:0)
在这里你去冠军。 如果您需要一些解释,请询问
@echo off
cls
set file=c:/mmm.txt
del config.ini
setlocal EnableDelayedExpansion
for /f "tokens=* delims=*" %%i in (%file%) do (
set variable=%%i
set num=!variable:~3,1!
echo !num!=!variable! >>config.ini
)
endlocal
goto :eof