
[已解決]字符串組合問題(望指正)最后由 冰劍 于 -10-17 16:10源文件內容示例:第一行字符串第二行字符串第三行字符串........要生成的文件內容新建文本文件abcd.txt.STRINGS$str[1] = 第一行字符串$str[2] = 第二行字符串$str[3] = 第三行字符串.......END
望各位大神指點一下哪里出了問題讀取的文件返回的數據都是空的數組值一直都是輸入的起始值根據一樓和二樓的內容重新整合了一下nclick="copycode($('code0'));">復制代碼
- SET /P file=請將需要處理的文件拖入本窗口
- SET /P init=請輸入生成數組起始值
- CLS
- set str=.STRINGS
- ECHO %str%>abcd.txt
- SET str1=^$str[
- SET /a str2=%init%
- SET str3=^] =
- SET str4=^
- for /f %%i in (%file%) do (
- SET strall=%str1%%str2%%str3%!%%i!%str4%
- ECHO !strall!>>abcd.txt
- SET /a str2=%str2%+1
- )
- SET str=.END
- ECHO %str%>>abcd.txt
- ECHO 數據處理完成
- PAUSE
更簡化的寫法(二樓的程序)nclick="copycode($('code1'));">復制代碼
- setlocal enabledelayedexpansion
- SET /P file=請將需要處理的文件拖入本窗口:
- SET /P init=請輸入生成數組起始值:
- CLS
- set str=.STRINGS
- ECHO %str%>logo.st
- SET str1=^$str[
- SET /a str2=%init%
- SET str3=^] =
- SET str4=^
- for /f delims= %%i in (%file%) do (
- SET strall=%str1%!str2!%str3%%%i%str4%
- ECHO !strall!>>logo.st
- SET /a str2=!str2!+1
- )
- SET str=.END
- ECHO %str%>>logo.st
- ECHO 數據處理完成
- PAUSE
這個代碼對某些特殊符號就沒用了,比如帶分號的就過濾了.感謝七樓的0000 代碼,完美解決各種特殊字符的問題nclick="copycode($('code2'));">復制代碼
- setlocal enabledelayedexpansion
- SET /P file=請將需要處理的文件拖入本窗口:
- SET /P init=請輸入生成數組起始值:
- CLS
- ECHO .STRINGS>logo.st
- for /f delims= %%i in (%file%) do echo $str[!init!] = %%i>>logo.st&set /a init+=1
- ECHO .END>>logo.st
- ECHO 數據處理完成
- PAUSE
高人啊,哈哈~最終我改了一下代碼nclick="copycode($('code3'));">復制代碼
- @echo off
- setlocal enabledelayedexpansion
- set /p input=輸入文件名:
- type !input!|find /v /c >_
- set /p n=<_
- <!input! >abcd.txt (
- echo .STRINGS
- for /l %%a in (1,1,!n!) do (
- set /p i=
- echo $str[%%a] = !i!
- )
- echo .END
- )
這樣就更好理解了.nclick="copycode($('code4'));">復制代碼
- setlocal enabledelayedexpansion
- set /p input=輸入文件名:
- type !file!|find /v /c >temp.a
- set /p n=<temp.a
- <!file! >abcd.txt (
- echo .STRINGS
- for /l %%a in (1,1,!n!) do (
- set /p i=
- echo $str[%%a] = !i!
- )
- echo .END
- )
- DEL /F temp.a

