如何在单行中使用带有批处理脚本/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
我有一个文本文件,其 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