在Windows批处理脚本中获取没有扩展名的文件名
我正在尝试创build一个右键菜单命令,用YUI压缩器来压缩JavaScript文件。 我的最终目标是试图让这个在上下文菜单上运行:
java.exe -jar yuicompressor-2.4.2.jar -o <filename>.min.js <filename>.js
我知道我可以使用variables%1
引用正在打开的文件名。 我不知道如何得到这个命令成batch file的语法,并没有能够find任何答案在线。
更新:
杰里米的回答(+评论)工作。 对于任何绊脚石的人来说,这是我必须做的:
在为JavaScript文件创build的操作中,我将其用作命令:
minify.bat "%1"
其中调用我的批处理脚本,如下所示:
java.exe -jar yuicompressor-2.4.2.jar -o "%~dpn1.min.js" %1
对于批处理脚本,请记住,上面的代码假定java.exe和yuicompressor的目录都添加到PATH
variables中。 如果不将这些添加到path中,则必须使用文件的完整path。
序列%~dpn
用来得到:
-
%~d
– 驱动器 -
%~p
– path -
%~n
– 文件名
更改操作以调用batch file:
RunCompressor.bat "%1"
在RunCompressor.bat中使用%~n1
〜n1来获取没有扩展名的文件名:
start javaw.exe -jar yuicompressor-2.4.2.jar -o "%~n1.min.js" "%1"
有用的文章
启动javaw.exe运行batch file时closures命令窗口。
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
编写自己的类,确定要发送到YUI压缩器的输出文件名。
java.exe -cp yuicompressor-2.4.2.jar MyClass "%1"