Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file dir/b命令输出在一行中,添加了分隔符批处理文件编程_Batch File - Fatal编程技术网

Batch file dir/b命令输出在一行中,添加了分隔符批处理文件编程

Batch file dir/b命令输出在一行中,添加了分隔符批处理文件编程,batch-file,Batch File,我希望dir/b命令行输出在一行中,用分隔符分隔 例如 超出 dir c:\test file1 file2 file3 file4 我想把它当作 file1;file2;file3;file4 如何在批处理编程中实现这一点。可以通过python脚本来实现,例如: import sys print ';'.join(sys.stdin.read().split()) 在批处理文件中: dir /b | thatscriptjustabovehere.py 这不会引用碰巧包含的文件名。但

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

dir c:\test 
file1
file2
file3
file4
我想把它当作

file1;file2;file3;file4

如何在批处理编程中实现这一点。

可以通过python脚本来实现,例如:

import sys
print ';'.join(sys.stdin.read().split())
在批处理文件中:

dir /b | thatscriptjustabovehere.py
这不会引用碰巧包含
的文件名。但以下情况确实如此:

@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%

但dir命令在哪里?我得到了result factor.log;session.log它是什么?
dir
不是必需的,因为for
循环会迭代文件。但是如何指定所需的文件夹?并在文本文件中获得与以下相同的结果:
dir/a:d/bС:\folder\| sort>%file%
对于%%x-in(c:\folder\*)做…
但这当然不会排序。
对于/f%%x-in('dir-c:\folder/a:d/b'),做[…]
如果您想了解更多关于“for”,只需键入
for/?
@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%