注册
登录
论坛
搜索
帮助
导航
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
BAT求助&讨论
» 批处理:if-变量值输出到文本的问题
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
 
1
2
3
返回列表
发帖
fzp070
发短消息
加为好友
fzp070
当前在线
UID
18723
帖子
107
精华
0
积分
237
PB
210
技术
9
捐助
0
阅读权限
20
在线时间
270 小时
注册时间
2009-10-24
最后登录
2024-11-23
三级士官
帖子
107
积分
237
技术
9
捐助
0
注册时间
2009-10-24
11
楼
跳转到
»
发表于 2022-10-22 21:40
|
只看该作者
回复
10#
WBATW
呃,我只是个初学者,你的问题我还没太搞懂。帮你呼高手@WHY
TOP
WBATW
发短消息
加为好友
WBATW
当前离线
UID
101653
帖子
50
精华
0
积分
67
PB
67
技术
0
捐助
0
阅读权限
10
来自
四川
在线时间
45 小时
注册时间
2021-1-5
最后登录
2024-4-23
上等兵
帖子
50
积分
67
技术
0
捐助
0
注册时间
2021-1-5
10
楼
发表于 2022-10-22 21:25
|
只看该作者
回复
3#
fzp070
我的重新描述放在 8楼(回复 2# hfxiang)烦请专家看看哦
TOP
WBATW
发短消息
加为好友
WBATW
当前离线
UID
101653
帖子
50
精华
0
积分
67
PB
67
技术
0
捐助
0
阅读权限
10
来自
四川
在线时间
45 小时
注册时间
2021-1-5
最后登录
2024-4-23
上等兵
帖子
50
积分
67
技术
0
捐助
0
注册时间
2021-1-5
9
楼
发表于 2022-10-22 21:22
|
只看该作者
本帖最后由 WBATW 于 2022-10-22 21:23 编辑
回复
4#
fzp070
我的重新描述放在 8楼(回复 2# hfxiang)烦请专家看看哦
TOP
WBATW
发短消息
加为好友
WBATW
当前离线
UID
101653
帖子
50
精华
0
积分
67
PB
67
技术
0
捐助
0
阅读权限
10
来自
四川
在线时间
45 小时
注册时间
2021-1-5
最后登录
2024-4-23
上等兵
帖子
50
积分
67
技术
0
捐助
0
注册时间
2021-1-5
8
楼
发表于 2022-10-22 21:14
|
只看该作者
回复
2#
hfxiang
非常感谢各位专家!
我重新描述一下:
本批处理代码要解决的问题是:提取目录子目录下(文件夹)所有txt文本文件内容中少于3个字符的行输出到3.txt。
我把('dir /b /a-d /s *.txt')它改为1.txt单个文件,运行代码可以获取小于3字符的所有行到3.txt。但是批量处理就不行了,我用添加 echo;"!tet:~0,2!" 调试查看在cmd窗口显示:“C:”,有几个文件就显示几个/每行一个“C:”,我想问题应该出在 if....句,但是我不会处理了,特向批处理专家请教,分享大家的好办法。
第②个问题我想是这样的:如果不是提取而直接批量删除小于3个字符的行,那么如何保留各个文本原格式不变,比如原来的空行、空格等保留不变
TOP
WBATW
发短消息
加为好友
WBATW
当前离线
UID
101653
帖子
50
精华
0
积分
67
PB
67
技术
0
捐助
0
阅读权限
10
来自
四川
在线时间
45 小时
注册时间
2021-1-5
最后登录
2024-4-23
上等兵
帖子
50
积分
67
技术
0
捐助
0
注册时间
2021-1-5
7
楼
发表于 2022-10-22 20:27
|
只看该作者
回复
6#
fzp070
TOP
fzp070
发短消息
加为好友
fzp070
当前在线
UID
18723
帖子
107
精华
0
积分
237
PB
210
技术
9
捐助
0
阅读权限
20
在线时间
270 小时
注册时间
2009-10-24
最后登录
2024-11-23
三级士官
帖子
107
积分
237
技术
9
捐助
0
注册时间
2009-10-24
6
楼
发表于 2022-10-22 14:16
|
只看该作者
回复
5#
77七
应该不是,这个批处理获取到的文本文件都是同一个盘符的,即 提取文件名前两个字符 都是一样的。如果是这个想法,没必要这样判断啊。
TOP
77七
发短消息
加为好友
77七
当前离线
UID
112965
帖子
1700
精华
0
积分
2788
PB
1712
技术
342
捐助
50
阅读权限
70
在线时间
1211 小时
注册时间
2022-9-18
最后登录
2024-11-22
中校
帖子
1700
积分
2788
技术
342
捐助
50
注册时间
2022-9-18
5
楼
发表于 2022-10-22 13:19
|
只看该作者
估计是提取文件名前两个字符相同的文本的内容,输出到文本3?
回复
3#
fzp070
TOP
fzp070
发短消息
加为好友
fzp070
当前在线
UID
18723
帖子
107
精华
0
积分
237
PB
210
技术
9
捐助
0
阅读权限
20
在线时间
270 小时
注册时间
2009-10-24
最后登录
2024-11-23
三级士官
帖子
107
积分
237
技术
9
捐助
0
注册时间
2009-10-24
4
楼
发表于 2022-10-22 13:06
|
只看该作者
回复
3#
fzp070
@WBATW
楼主得好好说说自己的需求,你目前的代码批处理即使在C盘运行,结果也是不可能相等。
目前代码中获取到的 "!tet!" 举例是 "C:\1.txt" ,而"!tet:~0,2!"就是 "C:" ,这两者就不可能相等啊!
TOP
fzp070
发短消息
加为好友
fzp070
当前在线
UID
18723
帖子
107
精华
0
积分
237
PB
210
技术
9
捐助
0
阅读权限
20
在线时间
270 小时
注册时间
2009-10-24
最后登录
2024-11-23
三级士官
帖子
107
积分
237
技术
9
捐助
0
注册时间
2009-10-24
3
楼
发表于 2022-10-22 12:52
|
只看该作者
回复
2#
hfxiang
确实感觉挺怪的,我也没看懂,还有些疑惑.
楼主开头说的:
代码运行
echo;"!tet:~0,2!"显示:“C:”
,那如下代码怎么会相等?
另外就算不看这句话,单看代码 !tet!获取到的是批处理所在目录 所有.txt文档的全路径,如下代码【 "!tet!"=="!tet:~0,2!"】也不可能相等吧!
if "!tet!"=="!tet:~0,2!"
复制代码
TOP
hfxiang
发短消息
加为好友
hfxiang
当前离线
UID
109184
帖子
601
精华
0
积分
1128
PB
630
技术
166
捐助
0
阅读权限
50
在线时间
1341 小时
注册时间
2022-6-20
最后登录
2024-11-22
上尉
帖子
601
积分
1128
技术
166
捐助
0
注册时间
2022-6-20
2
楼
发表于 2022-10-22 10:52
|
只看该作者
俺好像没看明白楼主的真实需要
TOP
 
1
2
3
返回列表
批处理专区: BAT CMD DOS
BAT求助&讨论
BAT教程&资料
BAT原创&转载
BAT新大陆
BAT转载代码
新手练功
出题挑战
有偿求助
第三方命令行
开源原创工具
iBAT
Take Command
其他脚本区
PowerShell求助&讨论
PowerShell教程&资料
PowerShell原创&转载
VBS求助&讨论
JS / JScript / JavaScript
VBS教程&资料
VBS原创&转载
UNIX/Linux Shell
Python
Perl
网络资源区
电脑技术研讨
精品软件交流
论坛事务区
站务交流
意见反馈
论坛公告
版主申请
交换链接
建站杂谈
活动专区
论坛总版规
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]