Batch file 循环的批处理问题

Batch file 循环的批处理问题,batch-file,for-loop,cmd,Batch File,For Loop,Cmd,我正在尝试制作一个简单的批处理程序,它将对目录中的文件进行排序,并根据文件名删除某些文件。由于我是批处理编程新手(所以请原谅任何明显的愚蠢错误),我想我应该先尝试熟悉FOR循环 一般来说,我在查找有关FOR循环的好的全面教程时遇到问题,并且认为cmd帮助不够 我创建了以下代码,我认为应该列出当前目录和所有子目录中的所有文件: @echo off pause for /R %%G in ( * ) do( echo %%G) pause 但是,当我运行它时,窗口会简单地关闭,而不执行命令或暂停

我正在尝试制作一个简单的批处理程序,它将对目录中的文件进行排序,并根据文件名删除某些文件。由于我是批处理编程新手(所以请原谅任何明显的愚蠢错误),我想我应该先尝试熟悉FOR循环

一般来说,我在查找有关FOR循环的好的全面教程时遇到问题,并且认为cmd帮助不够

我创建了以下代码,我认为应该列出当前目录和所有子目录中的所有文件:

@echo off
pause

for /R %%G in ( * ) do(
echo %%G)
pause
但是,当我运行它时,窗口会简单地关闭,而不执行命令或暂停

以上代码中的错误是什么?除此之外,是否有人能提供任何指导,让我从这里开始尝试并制作我在开头提到的程序(用于根据名称删除某些文件)


谢谢:)

一定要在
do
后面加空格。如果删除或注释掉
@echo off
行,您将很容易看到这一点

@echo off
pause

for /R %%G in ( * ) do (
    echo %%G
)
pause

也许你应该告诉我们你的意图是什么。更正后,当前代码应列出当前目录及其所有子目录中的所有文件,而不是
路径中的所有文件,这是一个完全不同的问题(搜索可执行文件的
cmd
目录系列)@Magoo是的,我为我的歧义道歉;我的意思是代码应该做的就是你说的。嗯,但我说了两件事-不确定我们身上是否有模棱两可的徽章,所以…:)@Magoo请查看更新的问题以获得澄清。现在一切都好了。如果你想在路径上找到
,那么神奇的命令是
where*
谢谢你指出这一点;我已经这样做了,但是在第一次暂停后关闭它的问题似乎仍然存在?将
放在单独的行上。我从未看到它在第一次暂停后关闭。我编辑了代码以包含SomethingDark的comment.lit和@SomethingDark,感谢所有的帮助,但是在第一次暂停后,此代码仍然刚刚关闭。通常是用于有缺陷/难以使用的命令吗?
FOR
命令(在大多数情况下)不是有缺陷的。笨拙而神秘,但不是马车。这应该不会有任何问题。您是否尝试过在
@echo关闭的情况下运行is