标题: [文本处理] BAT批处理设置start命令的变量一次(依次)打开两个文件 [打印本页]
作者: WBATW 时间: 2022-9-18 18:19 标题: BAT批处理设置start命令的变量一次(依次)打开两个文件
有Ha.txt Hb.txt两个文件,它是两个不同内容的文件列表文本,当内容相同或
者相近时。用如下代码打开能正常运行:这只是描述给你的一种情况。
for /f "delims=" %%j in (Ha.txt Hb.txt) do (
set "a=%%j"
start "" "!a!"
)
然而,我希望的是要变成类似于这样:
for /f "delims=" %%j in (Ha.txt Hb.dwg) do (
set "Ha=%%j"
set "Hb=%%j"...
start "" "!Ha!"
start "" "!Hb!"
)
分别对应打开Ha 和 Hb两个文件,能否有一个简洁的方案可以实现类似的功能
?你的任何帮助我都将非常感谢,谢谢!
作者: fzp070 时间: 2022-9-18 19:56
文档内容相同,这个还好判断,用hash值对比。
但内容相近,个人感觉这个不太好判断吧,判断字符数量、文件大小都不行。
必须对文字内容进行相似度判断,而且文字内容如果一样,但顺序不一样,算不算相近呢?
作者: Echo11 时间: 2022-9-18 20:45
回复 1# WBATW
同2楼,主要你需求表述不明确。
目前我按照我的理解,
如果Ha.txt内容如下:复制代码
Hb.txt内容如下:复制代码
如果是要同时打开两个文件的第n行的文件,比如Ha1.txt和Hb1.txt,那么代码可以这么写:- @ECHO OFF
- setlocal enabledelayedexpansion
- set n=0
- set m=0
- for /f "delims=" %%i in (Ha.txt) do (
- set /a n+=1
- set "a!n!=%%i"
- )
- for /f "delims=" %%j in (Hb.txt) do (
- set /a m+=1
- set "b!m!=%%j"
-
- )
- if %n% GEQ %m% (set "i=%n%") else (set "i=%m%")
- FOR /L %%k IN (1,1,%i%) DO (
- if exist !a%%k! start "" "!a%%k!"
- if exist !b%%k! start "" "!b%%k!"
- )
- pause
复制代码
作者: flashercs 时间: 2022-9-18 20:52
- @echo off
- cd /d %~dp0
- setlocal EnableDelayedExpansion
- (
- for /f "delims=" %%j in (Ha.txt) do (
- set "Ha=%%j"
- set /p "Hb="
- start "" "!Ha!"
- start "" "!Hb!"
- )
- )<Hb.txt
- endlocal
- pause
复制代码
作者: WBATW 时间: 2022-9-19 16:48
回复 2# fzp070
理解偏差了!谢谢!
作者: WBATW 时间: 2022-9-19 16:53
回复 3# Echo11
理解正确。代码测试运行正常,非常感谢!感谢你的帮助,
作者: WBATW 时间: 2022-9-19 17:34
回复 4# flashercs
代码简洁一些,很好,测试运行还有点小问题请教大师如下:
运行bat批处理:
1. 将Ha、Hb列表本身打开(偶得这个功能相当于打开了列表目录,很好,
但是有时候打开一个有时候没有打开);
2. 将Ha、Hb列表下的所列出的文件打开(很好,甚至我添加一个指定程序【start notepad.exe "!Hb!"】运行都很好!但是,有时候重复打开
一个或者有个别的没有被打开);
3. 总结:特别是打开Hb.txt这个的时候有些不稳定,
除1.、2.条描述外,打开的顺序不稳定和列表下的文件顺序也不稳定(这个所谓的先后顺序不影响代码执行结果,只是观察到出现此种情况时会产生其它问题)。先后顺序正常时都全部正常打开了;先后顺序出现有交错颠倒时打开的文件就时多时少不定。
综上所述:烦请大师查看一下代码可否有修改或者我电脑系统问题请指出。谢谢!非常感谢你的帮助!
作者: Batcher 时间: 2022-9-19 21:38
回复 7# WBATW
请把你测试4楼代码使用的Ha.txt和Hb.txt打包压缩上传到网盘
作者: WBATW 时间: 2022-9-20 00:00
回复 8# Batcher
谢谢!
测试文件:打开 文件@文件夹.rar下载
链接:https://pan.baidu.com/s/1Gt8TjqGXenV55o08-8Pz6g?pwd=d4p5
提取码:d4p5
作者: WBATW 时间: 2022-9-23 22:02
回复 8# Batcher
请问大师 测试文件收到了吗?原因是否找到?
作者: WBATW 时间: 2022-10-22 20:52
本帖最后由 WBATW 于 2023-2-12 17:43 编辑
最后的遗憾,没有得到回复。但是,还是非常感谢 fzp070大师的帮助.谢谢!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |