עזרה בכתיבת סקריפט
-
@clickone אמר בעזרה בכתיבת סקריפט:
או לופ אין סופי שתופס את הפרוסס
למה לופ אין סופי ?
אם מדבר שצריך לעבור X זמן -
@משחזר-מידע
כי נשמע לי שזה מה ש @aknvtchtk מחפש בסוף. רק שהוא חושב שהדרך הנכונה היא לבדוק כל X זמן.
במידה ואני טועה וזה לא מה שהוא מחפש, אלא באמת יש לו עניין שזה ייבדק כל X זמן, אז מה שצריך לעשות זה מתזמן המשימות עם משימה קבועה כל X זמן, שבה הוא בודק אם הפרוסס פעיל ואם לא אז הוא מריץ אותו כמו שכתבתי בשלב הראשון. -
טוב
אני יתחיל
tasklist יכול לענות לך אם פרוסס X פעיל
(תתחיל לעבוד על זה ) -
@משחזר-מידע @clickone @chagold אני רוצה עזרה בכתיבת סקריפט בבאש יש לי כבר סקריפט שיודע להריץ בלופ את מה שאני צריך השאלה היא שאני צריך פקודה שתעצור אותו מלהריץ את היישום אם הוא מזהה שזה פתוח כי במצב הנוכחי הוא מריץ כל הזמן בלי לעצור ופותח את אותו תהליך עוד פעם ועוד פעם ורק שהוא יבצע בדיקה כל כמה זמן שאני רוצה שהתהליך פתוח ואם לא אז שיפתח אותו
זה הקוד הנוכחי@ECHO OFF :loop cd C:\BABA start /MIN Hidew7Sb.exe timeout /T 300 cls goto loop
-
-
אני לא רואה איפה אתה בודק אם זה פעיל או לא
כתבתי לך כבר@משחזר-מידע אמר בעזרה בכתיבת סקריפט:
tasklist יכול לענות לך אם פרוסס X פעיל
(תתחיל לעבוד על זה ) -
-
@משחזר-מידע נכון את זה אני לא יודע איך לבדוק לכן שאלתי והשאלה היא איך אני ייתן לו פקודה לעצור את הלופ אחרי שאני יודע שהתהליך פעיל
-
@aknvtchtk אמר בעזרה בכתיבת סקריפט:
אני צריך 15 שניות אחרי שהתוכנה נסגרה שתחזור לפעול
אז זה כבר סיפור שונה...
@ECHO OFF :loop cd C:\BABA start /wait /min Hidew7Sb.exe timeout /T 300 cls goto loop
-
@yossiz קודם כל תודה רבה על הקוד אבל הוא בכלל לא מפעיל את היישום שבחרתי לו
@ECHO OFF :loop cd C:\Program Files (x86)\Wise\Wise Disk Cleaner tasklist|findstr WiseDiskCleaner.exe > nul if %errorlevel%==0 goto sleep start /WiseDiskCleaner.exe :sleep timeout /T 15 cls goto loop
-
@aknvtchtk
אני מצרף קוד C# שעושה את זה.Process process = new Process(); // Configure the process using the StartInfo properties. process.StartInfo.FileName = @"c:\baba\Hidew7Sb.exe"; process.StartInfo.Arguments = ""; process.StartInfo.WindowStyle = ProcessWindowStyle.Minimized; while (true) { try { process.Start(); } catch (Exception) { throw; } process.WaitForExit();// Waits here for the process to exit. System.Threading.Thread.Sleep(15*1000); }
בהנחה שהנתיב שהבאת הוא הנכון, אז גם קובץ מוכן שעובד
מה שהקוד הזה עושה:
- פותח את התוכנה
- ממתין עד שתיסגר
- כשהתוכנה נסגרת הוא ממתין 15 שניות וחוזר לשלב 1
-