批處理如何按空行分割文本到多個(gè)文件?分割VCF聯(lián)系人 問(wèn)題是這樣的,本人換了個(gè)老手機,老手機聯(lián)系人導入只支持一個(gè)聯(lián)系人一個(gè)文件,而現在我手頭上的是多個(gè)聯(lián)系人一個(gè)文件,現在要把這個(gè)單個(gè)文件分割成多個(gè),以便供老手機導入。 要求將每個(gè)BEGIN:VCARD到END:VCARD提取出來(lái)單獨存放為一個(gè)文件,文件名隨便,只要不重復就行,當然,如果能夠將聯(lián)系人姓名轉換出來(lái)作為文件名更好。- BEGIN:VCARD
- VERSION:2.1
- N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;=張三;;;
- FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=張三
- TEL;CELL:13466545261
- END:VCARD
- BEGIN:VCARD
- VERSION:2.1
- N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;=李四;;;
- FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=李四;
- TEL;CELL:15885394277
- EMAIL;PREF;INTERNET:74235661237@qq.com
- ORG;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=其他
- END:VCARD
- BEGIN:VCARD
- VERSION:2.1
- N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;=王五;;;
- FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=王五
- TEL;CELL:13337322552
- EMAIL;PREF;INTERNET:2327@qq.com
- ORG;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=其他
- END:VCARD
- ****************************************
- @echo off&setlocal enabledelayedexpansion
- set n=1
- for /f "delims=" %%a in (1.txt) do (
- echo %%a>>Name!n!.txt
- if /i "%%a"=="END:VCARD" set/a n+=1
- )
- pause
復制代碼*************************- @echo off
- setlocal enableDelayedExpansion
- for /f "tokens=*" %%i in (1.txt) do (
- if "%%i"=="BEGIN:VCARD" (
- set kaiguan=1
- set /a count+=1
- )
- if !kaiguan!==1 echo %%i>>a!count!.txt
- if "%%i"=="END:VCARD" (
- set kaiguan=0
- )
- )
復制代碼
|
|