Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 我如何修复%%i在此时意外出现的问题?_Batch File_Format_Command_Weka - Fatal编程技术网

Batch file 我如何修复%%i在此时意外出现的问题?

Batch file 我如何修复%%i在此时意外出现的问题?,batch-file,format,command,weka,Batch File,Format,Command,Weka,我正在尝试使用这些命令为emobase配置使用批处理脚本代码 cd "cd\Users\Admin\Desktop\recording\angry" for %%i in (*) do "C:\Users\Admin\Desktop\openSMILE\openSMILE-2.1.0\bin\Win32\SMILExtract_Release.exe" -c "C:\Users\Admin\Desktop\openSMILE\openSMILE-2.1.0\config\emobase2010

我正在尝试使用这些命令为emobase配置使用批处理脚本代码

cd "cd\Users\Admin\Desktop\recording\angry"

for %%i in (*) do "C:\Users\Admin\Desktop\openSMILE\openSMILE-2.1.0\bin\Win32\SMILExtract_Release.exe" -c "C:\Users\Admin\Desktop\openSMILE\openSMILE-2.1.0\config\emobase2010.conf" -i %%i -O "C:\Users\Admin\Desktop\DataSample_for_Emobase2010.arff" -classlabel 1
当我运行它时,它会说%%i此时出乎意料。我如何解决这个问题


我是编程新手,我不知道文件夹中的内容是否重要,但里面是一堆.arff格式的文件。我想把里面的所有文件都转换成一个.arff文件。我想里面的文件可能需要是.wav格式,所以我试着把它放在一个满是.wav文件的文件夹里,但它仍然显示出同样的问题。顺便说一下,我正在使用openSMILE对其进行配置,并将使用要在weka上运行的end Prudent创建一个test.bat,其中包含此代码

:“
GOTO TEST1
::转到测试2

我没有这个程序,所以它没有经过测试。希望这能帮助您了解如何使用for命令

:: RESTART SCRIPT WITH ADMIN RIGHTS AND IN A MAXIMIZED WINDOW IF NOT ALREADY SO
@ECHO OFF
IF NOT "%1"=="MAX" (powershell -WindowStyle Hidden -NoProfile -Command {Start-Process CMD -ArgumentList '/D,/C' -Verb RunAs} & START /MAX CMD /D /C %0 MAX & EXIT /B)

:------------------------------------------------------------------------------------------------------

:: BASIC BATCH SCRIPT TEMPLATE

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
COLOR 0A
TITLE EMOBASE CONFIGURATION

SET WorkingDir=C:\Users\Admin\Desktop\recording\angry
SET SMILE=C:\Users\Admin\Desktop\openSMILE\openSMILE-2.1.0\bin\Win32\SMILExtract_Release.exe
SET FNAME1=C:\Users\Admin\Desktop\openSMILE\openSMILE-2.1.0\config\emobase2010.conf
SET FNAME2=C:\Users\Admin\Desktop\DataSample_for_Emobase2010.arff

:: CHANGE DIRECTORY
PUSHD "%WorkingDir%"
:: OR USE THIS IF IT WORKS TO CHANGE THE DIRECTORY
PUSHD "%USERPROFILE%\Desktop\recording\angry" 

GOTO TEST1
:: GOTO TEST2

:TEST1
:: METHOD 1
:: REMOVE ECHO BELOW WHEN READY TO RUN
FOR %%G IN (*.*) DO (
ECHO "%SMILE%" -c "%FNAME1%" -i "%%G" -O "%FNAME2%" -classlabel 1
)

:TEST2
:: METHOD 2
:: REMOVE ECHO BELOW WHEN READY TO RUN
FOR %%G IN (*.*) DO (
SET FILES=%%~fG
ECHO "%SMILE%" -c "%FNAME1%" -i "!FILES!" -O "%FNAME2%" -classlabel 1
)

ECHO.
TITLE Done! EMOBASE CONFIGURATION
PAUSE
EXIT

如果从cmd提示符运行它,则标记变量仅使用百分之一的符号。你在一个批处理文件中使用了两个a。你是说cd“c:\Users\Admin\Desktop\recording\angry”--c:vs cd?@Squashman我以为使用cd会把我放入批处理文件中?@jftuga oh i打字错误sorry@Squashman我做到了,很管用谢谢