bagaimana cara bergabung dengan “JIKA UNTUK batch” dengan “FOR DELIMS batch”?

1

inilah bagian pertama dari skrip saya:

@echo off
cd /D "E:\[0] EE\feed\"
if exist "*.ss" (
if not exist "O.ss" (
    FOR %%A IN (*.ss) DO (
        IF /I NOT "%%~A"=="O2.ss" REN "%%~A" "O.ss" > nul 2>&1
    )))
pause

dan ini adalah bagian kedua naskah saya:

@Echo off & SetLocal EnableExtensions EnableDelayedExpansion
Set "Video="
for /f "delims=" %%a in ('findstr /i "^Video=" job1.ini') do set "%%a"
"C:\Temp\mkvmerge.exe" -o "E:\done.mkv" --title "B 1" "%Video%" "C:\Temp\audio.flac"
pause

jika saya menjalankannya secara terpisah, mereka mengeksekusi seperti yang diharapkan, namun ketika saya bergabung dengan mereka seperti ini:

@Echo off & SetLocal EnableExtensions EnableDelayedExpansion 
cd /D "E:\[0] EE\feed\" 
if exist "*.ss" ( 
if not exist "O.ss" (
    FOR %%A IN (*.ss) DO (
        IF /I NOT "%%~A"=="O2.ss" REN "%%~A" "O.ss" > nul 2>&1
    ))) 
Set "Video=" 
for /f "delims=" %%a in ('findstr /i "^Video=" job1.ini') do set "%%a" 
"C:\Temp\mkvmerge.exe" -o "E:\done.mkv" --title "B 1" "%Video%" "C:\Temp\audio.flac" 
pause

Saya mendapatkan kesalahan:

findstr: tidak bisa membuka job1.ini

Saya menganggap itu karena saya memiliki %% A di pernyataan IF itu?

apakah ada cara bagaimana cara memperbaikinya?

gamer0
sumber
Di folder manakah job1.ini berada?
Lotings
@LotPings job1.ini terletak di folder yang sama dengan file batch saya
gamer0

Jawaban:

0

Anda bisa mencoba ini:

@Echo off & SetLocal EnableExtensions EnableDelayedExpansion 
PushD "E:\[0] EE\feed\" 
if exist "*.ss" ( 
if not exist "O.ss" (
    FOR %%A IN (*.ss) DO (
        IF /I NOT "%%~A"=="O2.ss" REN "%%~A" "O.ss" > nul 2>&1
    )))
PopD 
Set "Video=" 
for /f "delims=" %%a in ('findstr /i "^Video=" job1.ini') do set "%%a" 
"C:\Temp\mkvmerge.exe" -o "E:\done.mkv" --title "B 1" "%Video%" "C:\Temp\audio.flac" 
pause

Pada bagian pertama Anda mengubah dir jauh dari folder tempat batch dan mungkin juga job1.ini berada.
PushDberfungsi seperti cd /dtetapi menyimpan lokasi lama pada tumpukan internal dan PopDmengembalikan lokasi yang disimpan.

Lotings
sumber