Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 如何在批处理文件中列出文件夹中的所有.bat文件?_Batch File - Fatal编程技术网

Batch file 如何在批处理文件中列出文件夹中的所有.bat文件?

Batch file 如何在批处理文件中列出文件夹中的所有.bat文件?,batch-file,Batch File,如何在包含文件夹中的文件夹以及这些文件夹中的程序的ArrayList中创建ArrayList 像这样: ArrayList 插件文件夹中的文件夹 这些文件夹中的所有批处理文件 编辑: 我想列出以下内容: program/plugins/vlams/plugin1.bat program/plugins/vlams/plugin2.bat 因此: vlams提供的插件 -plugin1 -plugin2试试这个: @echo off pushd C:\...\program\plugins\ ::

如何在包含文件夹中的文件夹以及这些文件夹中的程序的ArrayList中创建ArrayList

像这样:

ArrayList

插件
文件夹中的文件夹

这些文件夹中的所有批处理文件

编辑:

我想列出以下内容:

program/plugins/vlams/plugin1.bat

program/plugins/vlams/plugin2.bat

因此:

vlams提供的插件

-plugin1

-plugin2

试试这个:

@echo off
pushd C:\...\program\plugins\
:: Edit Above Path Path 
for /d %%a in (*) do (
  Echo Plugins by %%a 
  for /r "%%~a" %%b in (*.bat) do (
    Echo  - %%~nb
  )
  Echo.
)
popd
如果插件的内容是:

Plugins
> Vlams
  > plugin1.bat
  > plugin2.bat
> George
  > plugin1.bat
  > ReadMe.txt
输出将是:

Plugins by Vlams
 - plugin1
 - plugin2

Plugins by George
 - plugin1
我相信这就是你想要的。格式化代码不应该是一个太大的问题

如果您想对它们执行除“Echo”以外的操作,只需更换:

Echo  - %%~nb

无论您想要什么,其中
%%a
指的是作者(文件夹名称),
%%b
指的是bat文件的名称。

批处理文件中没有ArrayList,因此也无法在ArrayList中创建ArrayList。在批处理文件中,您尝试执行的操作将有点困难;你被限制使用批处理文件有什么特别的原因吗?我并不是真的被限制使用批处理文件,但在干净的windows PC上没有其他语言可以很容易地编码,而且我对python和java的了解还不够,所以我无法做到这一点。@KenWhite-这不是很难,你最终只是制作了一个类似arraylike而不是实际的数组。您将有一组变量,称为文件夹[1]、文件夹[2]、文件夹[3]等,但它们实际上没有任何关联。谢谢,但有一个问题,我该怎么做才能让你输入某人插件的名称,然后它通过调用启动它?也许可以创建一个包含所有现有插件的TMP文件夹,当你完成后,它会再次删除它。我发现了一个小缺点,我只是搜索了pushd的语法,它的使用方式并不明智,因为这将是一个供人们使用的程序,我不希望人们每次更新时都要更改目录。首先需要打开批处理文件所在的文件夹,然后执行pushd插件