【发布时间】:2021-04-29 22:15:59
【问题描述】:
我想遍历一个目录(由参数 1 提供)并打印目录的内容(我使用 echo 作为测试;稍后我将使用每个文件作为命令的输入)。
我要运行命令:
./script.bat C:/Foo/
这将触发以下(for循环是需要帮助的地方)
@echo off
set arg1=%1
shift
cd /d %arg1%
for %%i in (*.*) do @echo %%i
然后列出C:\Foo目录下的所有文件
这是最好的方法吗?我宁愿删除cd 调用并让循环遍历%arg1,但我不确定这是批处理方式(我是一个bash 人)。
【问题讨论】:
-
如果您只想列出目录的内容,只需使用带有命令行参数的
DIR命令。dir /a-d /b "%~1\*.*"。请记住,Windows 使用反斜杠作为路径分隔符。 -
我认为这是为了我
for /f %%i in ('dir /b %arg1%') do @echo %%i,但我只得到文件名。如何获得完整路径? -
输入
for /?看看如何。
标签: loops batch-file