如何在单行中使用带有批处理脚本/powershell 的 for 循环生成逗号分隔的字符串

How to generate a comma separated string using for loop with batch script / powershell in a single line

我有一个文本文件,其 ID 由换行符分隔

我希望此文本文件使用批处理脚本以逗号分隔

参考我下面的代码,这段代码生成逗号分隔的字符串,但仍然有换行符。我想要单行逗号分隔的字符串

@echo on & setlocal ENABLEDELAYEDEXPANSION 
for /f "tokens=* delims=" %%a in (input.txt) do (
set /a N+=1
echo ^%%a^,>>output.txt
)

input.txt 是

1
2
3
4
5

Output.txt 应该是 1,2,3,4,5

使用 PowerShell 更容易:

(Get-Content input.txt) -join ',' | Out-File output.txt
@echo off
    setlocal enableextensions disabledelayedexpansion

    set "first=1"
    (for /f "delims=" %%a in (input.txt) do (
        if not defined first ( set /p"=,%%a" ) else ( set /p"=%%a" & set "first=" )
    )) <nul >output.txt