Tập tin Windows nếu sử dụng khác


10

Xin lỗi tôi là người mới với những thứ này. Tôi muốn chạy theo một trình tự nhất định cùng một tệp dơi với các tham số khác nhau. Tôi đã viết một tập tin lô rất đơn giản:

@echo off

REM Note: to see all command line usage options, run bsearch_headless.bat without any arguments.

call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o pippo

ECHO
IF EXIST pippo.finalBests.csv (call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o topolino)
else goto :eof  

:eof
ECHO Simulatione End!
PAUSE

Nó không hoạt động vì elsekhông được công nhận.

Rất cảm ơn cho sự giúp đỡ!


Rõ ràng, nếu đó không phải là vấn đề bạn đang hỏi, nhưng không phải ECHOở giữa tập tin bó của bạn cần phải là ECHO.gì hay sao?
Scott

Tôi đã trả lời câu hỏi của bạn chưa?
BDM

Câu trả lời:


19

Từ iftài liệu về dòng lệnh (thông qua help ifhoặc có sẵn trong TechNet ).

Mệnh đề ELSE phải xuất hiện trên cùng dòng với lệnh sau IF. Ví dụ:

IF EXIST filename. (
    del filename.
) ELSE (
    echo filename. missing.
)

Điều sau đây sẽ KHÔNG hoạt động vì lệnh del cần được chấm dứt bởi một dòng mới:

IF EXIST filename. del filename. ELSE echo filename. missing

Cũng không có tác dụng nào sau đây, vì lệnh ELSE phải nằm trên cùng một dòng với phần cuối của lệnh IF:

IF EXIST filename. del filename.
ELSE echo filename. missing


Vì vậy, tập lệnh của bạn sẽ hoạt động nếu bạn thay thế

IF EXIST pippo.finalBests.csv (call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o topolino)
else goto :eof 

Với

IF EXIST pippo.finalBests.csv (call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o topolino) else goto :eof

HOẶC LÀ

IF EXIST pippo.finalBests.csv (
    call behaviorsearch_headless.bat -p test_behaviorsearch.bsearch -o topolino
) else (
    goto :eof
)

Mong rằng sẽ giúp.


0

ifelf.cmd:

@ECHO OFF
@IF EXIST "C:\boot.ini" (
@ECHO WoW! It may be M$Windows! 
) ELSE (
@ECHO Boot.ini Lost! My precious! Stolen! 
)
@ECHO .
@ECHO Wait 10 sec ...
@ping 127.0.0.1 -n 10 > NUL

1
Những gì với tất cả các @s?
BDM

@ProfPickle Ẩn các lệnh bản đồ. Mẫu @ECHO OFFECHO OFF.
STTR

1
Tôi biết, nhưng bạn không cần sử dụng nó một khi bạn đặt echo off.
BDM

1
@ProfPickle Vâng, đúng vậy, nhưng đã có lúc và các chương trình bỏ qua ECHO OFFnhưng nhận thức @. Hãy nghĩ về nó như một sự tôn vinh cho sự hoang tưởng hoặc các trường hợp lịch sử của tôi).
STTR

1
Đủ công bằng, tôi hiểu hoang tưởng.
BDM
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.