在Windows批处理文件中设置变量

时间:2013-11-12 09:29:58

标签: windows batch-file

我的第一个问题,甚至是我第一次尝试制作剧本。

我有一个名为“test PID 1100 DELAY 1100ms.acc”的文件,我可以使用命令行输出文件名: -

for %i in (test*.aac) do echo %~ni

然而在脚本中我这样说: -

SET AACFILE=for %i in (test*.aac) do echo %~ni
D:\Converter\bin\faad.exe -o C:\fb\test.wav "C:\fb\%AACFILE%.aac"

它不输出带有以下错误的文件名: -

c:\fb>aactowav.bat
c:\fb>SET "AACFILE=for ~ni"
c:\fb>D:\Converter\bin\faad.exe -o C:\fb\test.wav C:\fb\for ~ni.aac
 *********** Ahead Software MPEG-4 AAC Decoder V2.7 ******************
 Build: Oct 27 2012
 Copyright 2002-2004: Ahead Software AG
 http://www.audiocoding.com
 Floating point version
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License.

 **************************************************************************

 Error opening file: C:\fb\for

1 个答案:

答案 0 :(得分:0)

此行将变量设置为与filespec匹配的最后一个文件名:

@echo off
for %%i in (test*.aac) do SET "AACFILE=%%~ni"
echo "%aacfile%"