无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5097|回复: 4
打印 上一主题 下一主题

[求助] 请教高手, 将指定的批处理文件的所有代码行合并为一行, 并保持代码能成功运行

[复制链接]
跳转到指定楼层
1#
发表于 2021-7-5 13:40:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 2013kyj 于 2021-7-5 13:48 编辑

如题: 如何将指定的批处理文件的所有代码行合并为一行, 并保持代码能成功运行, 之所以需要这个功能, 是因为有些软件执行批处理时, 不支持多行批处理代码输入, 所以我要先把多行合为一行
百度搜索了一些资料, 但是水平有限, 没能解决, 请求高手支招, 非常感谢!

最能接近问题答案的资料搜索到如下的两个:
1.
http://www.bathome.net/thread-54538-1-1.html
2.
http://www.dzwebs.net/3309.html

资料1中的代码如下,间接解决我的问题,出现了两个情况:
1.它是是合并两个文件的
2.如果要合并的代码中已经包含*    那合并出的代码就混了, 例如要合并的代码中包含下面这行代码
dir *.txt
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for %%a in ("1.txt" "2.txt") do (
  4.     set str=
  5.     for /f "delims=" %%b in ('type %%a') do (
  6.         set str=!str!*%%b
  7.     )
  8.     echo,!str:~1!
  9. ))>"3.txt"
复制代码





5#
发表于 2023-10-24 16:55:53 | 只看该作者
没看懂代码!!
回复

使用道具 举报

4#
发表于 2023-10-24 16:43:45 | 只看该作者
这个没必要吗?代码得多长
回复

使用道具 举报

3#
发表于 2023-10-24 16:38:12 | 只看该作者
  1. @echo off & setlocal enabledelayedexpansion & (for %%a in ("1.txt" "2.txt") do (set "str=" & (for /f "delims=" %%b in ('type %%a') do set "str=!str!*%%b") & echo,!str:~1!))>"3.txt"
复制代码


回复

使用道具 举报

2#
发表于 2023-10-24 02:51:52 | 只看该作者
看着很深奥的样子,继续学习!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-25 12:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表