关于在bat脚本里怎么读取文件

hjd2357 2008-07-25 10:31:36
关于在bat脚本里怎么读取文件
我的文件格式是这样的
AO= \
XY

BO= \
AB
CD
EF
EO= \
ME
FE


我想循环取得XY AB CD EF ME FE
...全文
1265 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangdeqie 2008-08-05
  • 打赏
  • 举报
回复

//看这个吧,我改进了下,这个可以过滤空行
#include <stdio.h>
#include <process.h>
#include <fstream.h>
#include <string>

void main()
{
FILE *fp;
char *str=" ";
char buff[256];
fp=fopen("1.bat","r");
if (fp==NULL)
{
printf("can not open file\n");
exit(0);
}
while(fgets(buff,256,fp))
{
int p=strnicmp(buff,str,2);
if (!p)
{
printf("%s",buff);
}
}
printf("\n");
fclose(fp);

}

wangdeqie 2008-08-05
  • 打赏
  • 举报
回复
1.bat内容
AO= \
XY

BO= \
AB
CD
EF
EO= \
ME
FE

Result under VC6:
XY

AB
CD
EF
ME
FE

Press any key to continue



wangdeqie 2008-08-05
  • 打赏
  • 举报
回复

//可以这么写
#include <stdio.h>
#include <process.h>
#include <iostream.h>
#include <memory.h>
#include <iostream.h>
#include <fstream.h>
#include <string>

void main()
{
FILE *fp;
char *str="=";
char buff[256];
fp=fopen("1.bat","r");
if (fp==NULL)
{
printf("can not open file\n");
exit(0);
}
while(fgets(buff,256,fp))
{
char *p=strpbrk(buff,str);

if (!p)
{
printf("%s",buff);
}
}
printf("\n");
fclose(fp);

}
hjd1399 2008-08-05
  • 打赏
  • 举报
回复
ding
hjd2357 2008-08-05
  • 打赏
  • 举报
回复
ding
hjd2357 2008-07-29
  • 打赏
  • 举报
回复
akun 2008-07-25
  • 打赏
  • 举报
回复
自己写个exe。
bat里调用exe读取打印~
e_sharp 2008-07-25
  • 打赏
  • 举报
回复
使用if判断 if "%str:~-1%" == "\" 看看最后一位是不是"\"
hjd2357 2008-07-25
  • 打赏
  • 举报
回复
这样写可以读取每一个值,
@echo off
for /f "usebackq tokens=1 delims=:" %%i in (MakeList ) do (
echo %%i

)

pause

但是怎样能判断的取值呢。

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧