2011-01-27 68 views
4

我想在由分隔符 例如分開的一個線DIR/B命令行輸出 的DIR/B命令輸出

dir c:\test 
file1 
file2 
file3 
file4 

Outout我想它作爲

file1;file2;file3;file4 

如何在批處理編程中做到這一點。

回答

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% 
+0

但是dir命令在哪裏?我得到了結果factor.log; session.log是什麼? – 2018-01-28 20:16:06

0

也許它管道Python腳本,例如:

import sys 
print ';'.join(sys.stdin.read().split()) 

在批處理文件:

dir /b | thatscriptjustabovehere.py