我希望dir / b命令行输出在一行中用分隔符分隔 例如 出局
dir c:\test
file1
file2
file3
file4
我希望它为
file1;file2;file3;file4
如何在批量编程中执行此操作。
答案 0 :(得分:6)
@echo off
setlocal enabledelayedexpansion enableextensions
set LIST=
for %%x in (*) do set LIST=!LIST!;%%x
echo %LIST:~1%
但是,这不会引用碰巧包含;
的文件名。不过如下:
@echo off
setlocal enabledelayedexpansion enableextensions
set LIST=
for %%x in (*) do (
echo %%x|findstr ";">nul 2>&1
if errorlevel 1 (set LIST=!LIST!;%%x) else (set LIST=!LIST!;"%%x")
)
echo %LIST:~1%
答案 1 :(得分:0)
也许通过python脚本管道,例如:
import sys
print ';'.join(sys.stdin.read().split())
在批处理文件中:
dir /b | thatscriptjustabovehere.py