使用文件中的行来构造命令中的参数的 Windows 批处理文件

标签 windows batch-file minify google-closure-compiler javascript

<分区>

Possible Duplicate:
How do you loop through each line in a text file using a windows batch file?

需要使用大量文件名来构造一个参数,该参数将转到从 Windows 命令行调用的应用程序。我正在尝试从一个 Windows 批处理文件中完成这一切。

到目前为止我有这个:

dir C:\javascripts /a-d /b /s >FileListing.txt

这会创建一个名为“FileListing.txt”的文件,其内容如下所示:

C:\javascripts\index.js
C:\javascripts\other_javascripts.js
...
C:\javascripts\helper.js

接下来我需要做的是以这种方式调用使用这些文件名作为参数的可执行文件:

java -jar compiler.jar --js=C:\javascripts\index.js 
                       --js=C:\javascripts\other_javascripts.js 
                       ... 
                       --js_output_file=compiled_javascripts.js

这是与 google javascript 编译器一起使用的。目标是将所有这些 javascript 压缩并编译到一个文件中。

如何将这些文件名放入命令行参数中?

非常感谢!

最佳答案

给你:

@echo off
setlocal enabledelayedexpansion
set JAVA_CMD=java -jar compilar.jar
for /f "tokens=*" %%f in (FileListing.txt) do set JAVA_CMD=!JAVA_CMD! --js=%%f
set JAVA_CMD=!JAVA_CMD! --js_output_file=compiled_javascripts.js

:: Invoke the command
!JAVA_CMD!


改进建议:
丢失文本文件,并从循环内调用 dir 命令(注意省略的 /s),如下所示:

for /f "tokens=*" %%f in ('dir C:\javascripts /a-d /b') do set JAVA_CMD=!JAVA_CMD! --js=%%f

...脚本的其余部分保持不变。

关于使用文件中的行来构造命令中的参数的 Windows 批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11711320/

相关文章:

ruby - Windows/Ruby 后台处理

c# - 使用 C# 在远程 Windows 服务器上创建本地用户

batch-file - 如何从 WinSCP 脚本中重命名下载的文件?

windows - cp -r 在没有错误代码 1 的 Windows 命令提示符下等效

css - 如何验证缩小的 CSS

php - 缩小动态 php 样式表

c++ - WinINet API 可以在 Windows Server 操作系统上使用吗?

windows - 如何在 Windows 7 x64 上禁用 ASLR(地址空间布局随机化)?

python 作为 "batch"脚本(即从 python 运行命令)

javascript - 如何给 webpack 丑化 JavaScript 添加 header 注释?