[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 10# WBATW

呃,我只是个初学者,你的问题我还没太搞懂。帮你呼高手@WHY

TOP

回复 3# fzp070

我的重新描述放在 8楼(回复 2# hfxiang)烦请专家看看哦

TOP

本帖最后由 WBATW 于 2022-10-22 21:23 编辑

回复 4# fzp070

我的重新描述放在 8楼(回复 2# hfxiang)烦请专家看看哦

TOP

回复 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

回复 6# fzp070

TOP

回复 5# 77七

应该不是,这个批处理获取到的文本文件都是同一个盘符的,即 提取文件名前两个字符 都是一样的。如果是这个想法,没必要这样判断啊。

TOP

估计是提取文件名前两个字符相同的文本的内容,输出到文本3?回复 3# fzp070

TOP

回复 3# fzp070

@WBATW
楼主得好好说说自己的需求,你目前的代码批处理即使在C盘运行,结果也是不可能相等。
目前代码中获取到的  "!tet!" 举例是 "C:\1.txt" ,而"!tet:~0,2!"就是 "C:" ,这两者就不可能相等啊!

TOP

回复 2# hfxiang

确实感觉挺怪的,我也没看懂,还有些疑惑.

楼主开头说的:
代码运行echo;"!tet:~0,2!"显示:“C:”,那如下代码怎么会相等?
另外就算不看这句话,单看代码 !tet!获取到的是批处理所在目录 所有.txt文档的全路径,如下代码【 "!tet!"=="!tet:~0,2!"】也不可能相等吧!
  1. if "!tet!"=="!tet:~0,2!"
复制代码

TOP

俺好像没看明白楼主的真实需要

TOP

返回列表