首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Windows批处理脚本中获取不带扩展名的文件名

在Windows批处理脚本中获取不带扩展名的文件名
EN

Stack Overflow用户
提问于 2009-09-24 14:45:33
回答 3查看 86K关注 0票数 60

我正在尝试创建一个右击上下文菜单命令,用于使用YUI压缩器压缩JavaScript文件。我的最终目标是尝试让它在上下文菜单上运行:

代码语言:javascript
复制
java.exe -jar yuicompressor-2.4.2.jar -o <filename>.min.js <filename>.js

我知道我可以使用变量%1来引用正在打开的文件名。我不知道如何将此命令转换为批处理文件语法,也无法在网上找到任何答案。

更新:

Jeremy的回答(+评论)起作用了。对于任何偶然发现这一点的人,这是我不得不做的:

在我为JavaScript文件创建的操作中,我使用以下命令:

代码语言:javascript
复制
minify.bat "%1"

它调用我的批处理脚本,如下所示:

代码语言:javascript
复制
java.exe -jar yuicompressor-2.4.2.jar -o "%~dpn1.min.js" %1

对于批处理脚本,请记住,上面的代码假设java.exe和yuicompressor的目录都添加到您的PATH变量中。如果不将这些文件添加到路径中,则必须使用文件的完整路径。

序列%~dpn用于获取:

  1. %~d - The drive
  2. %~p - The path
  3. %~n -文件名
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-09-24 14:49:41

更改操作以调用批处理文件:

代码语言:javascript
复制
RunCompressor.bat "%1"

在RunCompressor.bat中使用%~n1获取不带扩展名的文件名:

代码语言:javascript
复制
start javaw.exe -jar yuicompressor-2.4.2.jar -o "%~n1.min.js" "%1"

Helpful article

start javaw.exe在运行批处理文件时关闭命令窗口。

票数 52
EN

Stack Overflow用户

发布于 2013-12-24 22:16:28

代码语言:javascript
复制
echo path of this file name is: %~dp0
echo file name of this file without extension is:%~n0
echo file extention of this file is:%~x0
echo The file name of this file is: %~nx0
票数 12
EN

Stack Overflow用户

发布于 2009-09-24 15:42:28

编写您自己的类来确定要发送到YUI压缩器的输出文件名。

代码语言:javascript
复制
java.exe -cp yuicompressor-2.4.2.jar MyClass "%1"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1472191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档