我正在使用批处理文件,并且需要能够列出在运行批处理脚本的相对路径中找到的所有JavaScript文件。最终列表需要格式化为:
"C:\path\to\file1.js" "C:\path\to\file2.js" "C:\path\to\file3.js" etc..
到目前为止,我已经完成了:
SET files=""
FOR /f "delims=" %%i IN ('dir /b /s ".\path\to\files\*.js"') DO (
SET files=!files! "%%i"
)
ECHO Files found: %files%
但是,使用上面的脚本,我得到的所有输出是:
Files found: "" C:\path\to\last\file.js
它只输出在目录中找到的最后一个文件。我不知道这里的问题是为什么它只附加最后一个文件。
答案 0 :(得分:0)
完全按照此处显示的方式运行下面的批处理文件:
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
SET "files="
FOR /f "delims=" %%i IN ('dir /b /s ".\path\to\files\*.js"') DO (
SET files=!files! "%%i"
)
ECHO Files found: %files%
如果输出不是您想要的,请直接从命令行执行下一个命令:
dir /b /s ".\path\to\files\*.js"
如果上一行显示的文件与批处理文件相同,则问题与dir
命令有关。