2013kyj 发表于 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
@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"




咕哩咕噜 发表于 2023-10-24 02:51:52

看着很深奥的样子,继续学习!

Batcher 发表于 2023-10-24 16:38:12

@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:45

这个没必要吗?代码得多长

rbwrbw 发表于 2023-10-24 16:55:53

没看懂代码!!
页: [1]
查看完整版本: 请教高手, 将指定的批处理文件的所有代码行合并为一行, 并保持代码能成功运行