עזרה בכתיבת BATCH FILE

אם חיפשתם במה לשתף את הקהילה בנושאים שלאו דווקא קשורים באופן ישיר למשחקים ישנים או ל"מסע אל העבר", זהו הפורום בשבילכם!

מנהלים: Gordi, Radioactive Grandpa, Octarine, Og, אופיר

סמל אישי של משתמש
dj_anubis
משתמש רשום
משתמש רשום
הודעות: 1635
הצטרף: א' ינואר 19, 2003 6:37 pm

עזרה בכתיבת BATCH FILE

שליחה על ידי dj_anubis »

אני צריך עזרה בכתיבת קובץ BATCH FILE

הקובץ הזה הוא לא בשביל משחק מסוים מפה, אלא בשביל משהו אחר שאני עובד עליו

אני יודע שיש פה כאלה שמבינים טוב בפונקציות של BATCH FILE, ואני מקווה שתצליחו לעזור לי

זה טיפה מורכב ואני באמת מנסה לכתוב את זה בצורה הכי ברורה ופשוטה שתוכלו להבין

אני צריך שהקובץ BATCH FILE יעשה 3 דברים
01. הרצת סקריפט
02. הרצת משחק
03. כיבוי סקריפט - נעשה באמצעות הפםונקציה TASKKILL /F /IM

01. הרצת סקריפט שיעבוד ברקע - את הסקריפט אני מריץ באמצעות פונקצית START
02. הרצת משחק - בעיקרון הייתי פשוט רושם למשל:

קוד: בחירת הכל

"d:\games\game1\go.exe"
וזה עבד בלי בעיה

הבעיה שהמשחק הזה לא רץ באמצעות סתם קובץ EXE, כדי להריץ אותו חייבים לכתוב 2 קבצי EXE באותה שורה לדוגמא:

קוד: בחירת הכל

LOAD.exe 2.exe
לכן כדי לנסות לפתור את הבעיה יצרתי קובץ BATCH נוסף שהתפקיד שלו יהיה להריץ את 2 הקבצים הנ"ל, מה שכתוב בו זה:

קוד: בחירת הכל

LOAD.exe 2.exe
ואז למעשה ניסיתי לקרוא לקובץ BATCH FILE הקטן יותר מהקובץ המקורי לאחר הרצת הסקריפטים באמצעות הפונקציה CALL

הבעיה שבמקום שהקובץ BATCH יריץ סקריפט, אחר כך משחק, אחר כך יסגור סקריפט הוא עושה את הדבר הבא
מריץ סקריפט, מריץ את המשחק וסוגר את הסקריפט במקביל

הדבר הזה גורם לכך שהסקריפט נכבה לפני שעולה המשחק

השאלה היא איך אני גורם לBATCH FILE לחכות שהקובץ BATCH הקטן מסיים לעבוד ורק אז לכבות את הסקריפט

אני מקווה שהצלחתם להבין את הבעיה ושתוכלו לעזור לי

המון המון תודה מראש
סמל אישי של משתמש
Octarine
מנהל
מנהל
הודעות: 3884
הצטרף: ג' יולי 07, 2009 11:48 pm
מיקום: בין חושך לאור

Re: עזרה בכתיבת BATCH FILE

שליחה על ידי Octarine »

אני לא באמת מבין בזה, וכנראה זה סתם פתרון ערבי, אבל אולי תוסיף pause לפי פקודת הכיבוי?
Og
מנהל
מנהל
הודעות: 12293
הצטרף: ו' מאי 28, 2004 10:34 am
מיקום: Delta Lyncis

Re: עזרה בכתיבת BATCH FILE

שליחה על ידי Og »

גם אני לא מתקרב בידיעותיי לאשף, אבל בכל זאת אתן את שני הסנטים שלי: למה אתה קורא לקובץ אצווה נוסף? למה שפשוט לא תרשום את ה LOAD.exe 2.exe באותו קובץ האצווה?
סמל אישי של משתמש
dj_anubis
משתמש רשום
משתמש רשום
הודעות: 1635
הצטרף: א' ינואר 19, 2003 6:37 pm

Re: עזרה בכתיבת BATCH FILE

שליחה על ידי dj_anubis »

האמת שכבר ניסיתי את זה, מה שקרה אז שכשיצאתי מהמשחק הוא לא המשיך לשלב 3 - סגירת הסקריפט, המחשב יוצא מהמשחק, ומשאיר את הסקריפטים פתוחים
סמל אישי של משתמש
raztk
משתמש רשום
משתמש רשום
הודעות: 585
הצטרף: ש' ינואר 03, 2004 11:28 pm
איש קשר:

Re: עזרה בכתיבת BATCH FILE

שליחה על ידי raztk »

@עוג: אני מודה לך על המחמאה, אך "אשף" נראית לי מילה חזקה מדי. :)

@dj_anubis: איך הקוד הבא?

קוד: בחירת הכל

@echo off
start <script_name>
load.exe 2.exe
:loop
for /f %%? in ('tasklist /fi "imagename eq 2.exe" 2^>nul') do goto loop
taskkill /f /im <script_name>
goto :eof
סמל אישי של משתמש
dj_anubis
משתמש רשום
משתמש רשום
הודעות: 1635
הצטרף: א' ינואר 19, 2003 6:37 pm

Re: עזרה בכתיבת BATCH FILE

שליחה על ידי dj_anubis »

וואו שמע raztk אתה פשוט :king: אין מה להגיד

זה עבד איזה תותח, רק אם יש לך כוח תכתוב בקצרה מה הגיון שעומד מאחורי הקוד הזה

המון המון תודה :wav:
סמל אישי של משתמש
raztk
משתמש רשום
משתמש רשום
הודעות: 585
הצטרף: ש' ינואר 03, 2004 11:28 pm
איש קשר:

Re: עזרה בכתיבת BATCH FILE

שליחה על ידי raztk »

פשוט מאוד יצרתי לולאה שבודקת (בעזרת tasklist) אם התוכנה שלך רצה ברקע, וכשהיא לא רצה יותר, זה סוגר את הסקריפט שלך.

אני שמח שזה עובד לך. :)
סמל אישי של משתמש
dj_anubis
משתמש רשום
משתמש רשום
הודעות: 1635
הצטרף: א' ינואר 19, 2003 6:37 pm

Re: עזרה בכתיבת BATCH FILE

שליחה על ידי dj_anubis »

באמת שעזרת לי המון תודה :P
שלח תגובה הנושא הקודםהנושא הבא