1

我正在编写一个批处理脚本,我在其中调用我编写的一个 matlab 函数来处理一些文件,它在更简单的情况下工作正常,但是当我在 for /r 中添加并传递它给我的参数时

The syntax of the command is in correct  pointing to the first line calling the matlab 

我评论了那行现在同样的错误指向启动命令我知道这可能很简单我错过了但我无法弄清楚我的错误

 C:\Cygwin64\bin\bash  "/cygdrive/f/database/sfs1.sh" & 
 for /r F:\database\trimmed %%A in (*.txt) do (
   echo %%~dpnxA
   matlab /nosplash /minimize /nodesktop /r "editEnergyfile('%%~dpnxA')";quit & 
 :loop
   tasklist /fi "imagename eq matlab.exe" | C:\windows\system32\find /i /n ":" > nul  
   if  errorlevel 1 goto loop
   start "" /b /wait /separate proc_eng_track.exe "%%~dpnA" &
   matlab /nosplash /minimize /nodesktop /r "Sail_speechrate('%%~dpnA')";quit 
)
4

1 回答 1

0

作为记录,代码现在可以工作并且没有给出任何语法错误

    ::echo off
C:\Cygwin64\bin\bash  "/cygdrive/f/database/sfs1.sh" 
for /r F:\database\trimmed %%G in (*.txt) do (
    echo %%~dpnxG
    matlab /wait /nosplash /minimize /nodesktop /r "editEnergyfile('%%~dpnxG')";quit 
    :loop
    tasklist /fi "imagename eq matlab.exe" | C:\windows\system32\find /i /n ":" > nul  
    if  errorlevel 1 goto loop
    start "" /b /wait /separate proc_eng_track.exe "%%~dpnG" 
    matlab /nosplash /minimize /nodesktop /r "Sail_speechrate('%%~dpnG')";quit 
)

现在的问题是它不会总是在最后几行中扩展参数,所以有时它会给我

start "" /b /wait /separate proc_eng_track.exe "%~dpnG"

该文件无法打开没有这样的文件或目录

于 2013-10-14T15:07:37.217 回答