无忧启动论坛

标题: 请教高手, 将指定的批处理文件的所有代码行合并为一行, 并保持代码能成功运行 [打印本页]

作者: 2013kyj    时间: 2021-7-5 13:40
标题: 请教高手, 将指定的批处理文件的所有代码行合并为一行, 并保持代码能成功运行
本帖最后由 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"
复制代码






作者: 咕哩咕噜    时间: 2023-10-24 02:51
看着很深奥的样子,继续学习!
作者: Batcher    时间: 2023-10-24 16:38
  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"
复制代码



作者: rbwrbw    时间: 2023-10-24 16:43
这个没必要吗?代码得多长
作者: rbwrbw    时间: 2023-10-24 16:55
没看懂代码!!




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3