עבור לתוכן

wzzip לא מתחיל

Featured Replies

פורסם

טוב אז מי שמכיר wzzip.exe הוא תוסף חינמי של Winzip שאפשר להריץ מ Batch File ולדחוס קבצים ל- Zip.

כתבתי את הקוד הבא ואני רוצה להשתמש הקוד הזה ולשים אותו כ Shutdown Script במחשב שלי:


MD d:\Backup-%date:~4,2%-%date:~7,2%-%date:~10,4%
WZZIP.EXE -rp d:\Backup-%date:~4,2%-%date:~7,2%-%date:~10,4%\documents.zip "C:\Documents and Settings\Sapir\My Documents"
WZZIP.EXE -rp d:\Backup-%date:~4,2%-%date:~7,2%-%date:~10,4%\Favorites.zip "C:\Documents and Settings\Sapir\Favorites"

השורה הראשונה יוצרת תיקייה בשם Backup עם התאריך של היום.

השורה השנייה מריצה את הקובץ Wzzip ומגבה את כל תיקיית My Documents שלי.

כאשר אני מריץ את הקובץ Batch הוא מבקש ממני ללחוץ על איזהו מקש כדי להתחיל בביצוע פעולת הכיווץ.

אם אני מוסיף אותו כ Shutdown Script אין לי אפשרות לגרום ללחוץ על שום מקש כשי שפעות הכיווץ תתחיל.

האם אני יכול להוסיף פקודה לקוד שתדמה לחיצת מקלדת ותגרום לBatch לרוץ כמו שצריך?

פורסם

אתה יכול להכניס input לתוכנית מקובץ ע"י > (כמו ש- < מוציא את ה- output לקובץ).

פורסם
  • מחבר

אתה יכול להראות לי איך זה יראה?

תוכל לשנות לי את הקוד?

פורסם

בהרבה תוכנות יש פרמטר -q או /q (הסדר הפוך ממה שנראה, קודם סלאש, אח"כ q). זה אומר לו "מצב שקט" - כלומר, בלי התערבות משתמש.

תעשה wzzip.exe /? ותראה מה הפרמטרים האפשריים שלך.

פורסם
  • מחבר

עברתי על כל הפרמטרים האפשרים עבור Wzzip ואין שם פרמטר שמעלה את התוכנה במצב שקט.

איזו פקודה אני יכול להכניס אחרי השורה שמריצה את Wzzip שתכניס איזשהו קלט?

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

האם אני יכול לעקוף את זה ע"י כך שאני אכניס איזהו קלט בצורה אוטומטית?

פורסם

תשתמש בפקודה הזאת:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/4b032417-ebda-4d30-88a4-2b56c24affdd.asp

דוגמה לסקריפט שמשתמש בזה (קובץ VBS):


Dim oShell

Set oShell = WScript.CreateObject ("WSCript.shell")

oShell.run "blabla.txt", 1, FALSE

oShell.SendKeys "{ENTER}{ENTER}"

Set oShell = Nothing

הסריפט הזה יפתח את הקובץ blabla.txt ואח"כ יעשה פעמיים ENTER בחלון של ה- COMMAND PROMPT. מה שאתה צריך, זה (כנראה) להחליף את הפעמיים ENTER ב- "y" ואת השם של הקובץ טקסט בפקודה שאותה אתה רוצה להריץ (התוכנת זיפ שלך).

רק הבהרה קטנה - ה-FALSE בסוף הפקודה RUN אומר לסקריפט שלא לחכות עד שהתוכנה שהוא מריץ מסיימת, אלא להמשיך לשורה הבאה. זאת כדי שלחיצת המקש לא תתבצע אחרי היציאה מהתוכנה, אלא במהלך הריצה.

אני אשמח אם תגיד לי אם זה עבד...

פורסם
  • מחבר

אין לי VIsual Basic אז אין לי איך להכניס את הקוד :nixweiss:

פורסם

אתה לא צריך VISUAL BASIC

אתה צריך רק WINDOWS וליצור קובץ test.vbs (סתם בחרתי שם כמובן) שה-WINDOWS יודע להפעיל כבר.

אגב, זה נקרא VB Script - זה אמנם סינטקס של VISUAL BASIC, אבל זאת שפה מצומצמת יחסית (וחזקה מבחינות אחרות).

פורסם

אגב, יש לי איפשהו על המחשב סקריפטים שכתבתי די מזמן שמשתמשים ב- wzzip או בכלי דומה אחר שפועל מ- command prompt. אני אנסה למצוא את זה.

לא נתקלתי בבעיה שאתה מספר עליה.

פורסם
  • מחבר
ואת השם של הקובץ טקסט בפקודה שאותה אתה רוצה להריץ (התוכנת זיפ שלך)

החלפתי את הקובץ Blabla.txt בנתיב המלא לקובץ Batch שלי כולל גירשיים וקיבלתי הודעת שגיאה שאומרת כי:

line: 5

char: 1

error: The system cannotfint the file specified

שיניתי את הקוד שננת לי והוא נראה עכשיו כך:

Dim oShell

Set oShell = WScript.CreateObject ("WSCript.shell")

oShell.run "C:\Documents and Settings\Sapir\Desktop\Copy of backing up.bat", 1, FALSE

oShell.SendKeys "{ENTER}{ENTER}"

Set oShell = Nothing

פורסם

לדעתי, כדי שמערכת ההפעלה תזהה את כל הסטרינג של הקובץ שלך, אתה צריך לעשות ככה:


oShell.run """C:\Documents and Settings\Sapir\Desktop\Copy of backing up.bat""", 1, FALSE

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

ואגב, היות ואתה משתמש בקובץ VBS בשביל הקריאה ל-WZZIP, אני הייתי מחליף את הקריאה ל-WZZIP בקובץ BAT לקריאה לסריפט הזה, וגם שם אותו באותה ספריה של הקובץ BAT.

פורסם
  • מחבר

הבעייה נפתרה.

תודה רבה לכולם

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים