L'attività pianificata restituisce 0xFF, ma funziona bene


0

Il file batch converte mpg in avi e viene eseguito secondo una pianificazione. Sebbene il batch funzioni correttamente dalla pianificazione, l'attività pianificata restituisce il messaggio 0xff. Eseguito manualmente, visualizza un codice di uscita pari a 0. Ho provato a inserire 'end', che restituisce 0x0, ma converte solo il primo file e ignora il resto.

del /q /s staxrip_temp\* 
cd staxrip_temp
for /f "delims=" %%d in ('dir /s /b /ad ^| sort /r') do rd "%%d"
cd..
for %%f in (*.mpg) do echo %%f
for %%a in ("*.mpg") do call :go_now  "%%a"
 if %%a not==("*.mpg") goto eof
:go_now
echo processing %~n1.mpg
staxrip.exe -template:_myxvid "%~dpn1.mpg" -encode -exit
del /q "%~dpn1.mpg"
rem echo %ERRORLEVEL%
rem end

Risolto: sostituito se %% a not == ("*. Mpg") vai a eof con: se non esiste %% a %% exit

Risposte:


1

Prova ad aggiungere una exit 0come ultima istruzione nel file batch.

Quits the CMD.EXE program (command interpreter) or the current batch
script.

EXIT [/B] [exitCode]

  /B          specifies to exit the current batch script instead of
              CMD.EXE.  If executed from outside a batch script, it
              will quit CMD.EXE

  exitCode    specifies a numeric number.  if /B is specified, sets
              ERRORLEVEL that number.  If quitting CMD.EXE, sets the process
              exit code with that number.

Hmm ... Non sono sicuro dell'esatta semantica del call {:label}comando o di come "ritorni" - se la tua :go_nowsubroutine sta tornando normalmente (cioè, elaborando più di un file) quando non inserisci endo exitlì, quindi don non farlo.

Probabilmente devi cambiarlo

if %%a not==("*.mpg") goto eof

a

if %%a not==("*.mpg") exit 0

ma scommetto che il motivo per cui sta tornando 0xFFè perché goto eofè un errore di sintassi, che volevi scrivere goto :EOF.


Aggiungendo exit 0, viene elaborato solo il primo file, quindi esce.
SamAstin,

se non esiste un'uscita %% a %% funziona, vai: EOF non funziona, nemmeno se %% a non == ("*. mpg") esce 0
SamAstin
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.