使用DELIMITER添加批处理文件编程,在一行中输出dir / b命令

时间:2011-01-27 06:09:52

标签: batch-file

我希望dir / b命令行输出在一行中用分隔符分隔 例如 出局

dir c:\test 
file1
file2
file3
file4

我希望它为

file1;file2;file3;file4

如何在批量编程中执行此操作。

2 个答案:

答案 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