חוקי הפורום

  • יש לי תיקיה ובתוכה מספר רב של תיקיות ואני צריך ליצור קבצי ארכיון (.zip/.7z/.rar-לא משנה איזה סוג) לכל תיקיה בנפרד.

    בחילוץ אני יודע שאפשר ב7-ZIP לסמן את כל הקבצים לחילוץ ולתת לו הוראה לחלץ כל קובץ לתיקיה נפרדת אבל בכיווץ אני לא מוצא אפשרות כזאת.

    יש דרך/תוכנה שתחסוך לי דחיסה ידנית אחד אחד?

    תודה רבה


  • משהו בסגנון זה יעבוד

    for /D %a in (*) do ("C:\Program Files\7-Zip\7z.exe" a "%a.zip" "%a\")
    

    תתאים אותו לצרכיך, איך שכתבתי עכשיו הוא ירוץ על כל התיקיות שבתיקייה הנוכחית ויעשה zip עם פרמטרים ברירות מחדל.


  • @yossiz בדיוק מה שהייתי צריך, תודה רבה לך איש יקר!

    אחרי שחוויתי את הכח של שורת פקודה הייתי שמח להבין קצת יותר ממה הפקודה מורכבת, אפשר קצת פירוט\קישור למדריך\מילות מפתח לחיפוש?

    תודה רבה


  • אם תוכל להסתדר באנגלית, אז תרשום בcmd

    help for
    

    בקיצור מלת המפתח for מריץ הפקודה שמגיעה אחרי המילה do פעם אחד בשביל כל ערך בתוך קבוצת הערכים שמגיע אחרי מילת המפתח in כאשר המשתנה %a מאוכלס כל פעם עם הערך המתאימה. כאן ה* מבטא "כל התיקייות בתקייה הנוכחית".
    נשמע מסובך? זה לא כל כך מסובך, רק שאין לי יכולת הסברה...

    אולי מישהו מכיר אתר שמסביר בעברית? בחיפוש מהיר מצאתי את זה אבל הוא קצת לוקה בחסר...


  • @yossiz תודה רבה!
    כל הכבוד על העזרה הרבה שאתה מגיש כאן לאנשים, ממש לא מובן מאליו!


  • דרך אגב, לכל משימה שמצריך יותר משורה אחת או שתיים של CMD, יותר משתלם לעשות בPowershell.
    היכולות של Powershell והתחביר הם הרבה יותר מתקדמות מCMD.

  • תכנות

    @yossiz אמר ביצירת קבצי ארכיון מרובים:

    היכולות של Powershell והתחביר הם הרבה יותר מתקדמות מCMD.

    אבל נדמה לי שזה קצת יותר מסובך...


  • @yossiz אמר ביצירת קבצי ארכיון מרובים:

    משהו בסגנון זה יעבוד

    for /D %a in (*) do ("C:\Program Files\7-Zip\7z.exe" a "%a.zip" "%a\")
    

    תתאים אותו לצרכיך, איך שכתבתי עכשיו הוא ירוץ על כל התיקיות שבתיקייה הנוכחית ויעשה zip עם פרמטרים ברירות מחדל.

    יש אפשרות להכין מזה קובץ שאני יריץ במיקום המבוקש?
    ניסיתי לשמור כטקסט עם סיומת cmd או bat אך הקובץ לא רץ.

    תודה רבה!


  • אמור לעבוד עם סיומת bat, מה הכונה לא רץ?

    @yossiz אכן בPS היכולות גדולות יותר, ואדרבא קל שמה יותר אחרי שלומדים.
    ניסיתי לכתוב זאת בPS, זה יוצא ככה:

    $dir = dir | ?{$_.PSISContainer}
    
    foreach ($d in $dir){
        & "C:\Program Files\7-Zip\7z.exe" a ($d.FullName + ".7z") $d.FullName
    }
    

    לשמור כקובץ עם סיומת ps1, לשים בתיקיה הרצויה, קליק ימני וRun.


  • @אלי-tza אמר ביצירת קבצי ארכיון מרובים:

    יש לי תיקיה ובתוכה מספר רב של תיקיות ואני צריך ליצור קבצי ארכיון (.zip/.7z/.rar-לא משנה איזה סוג) לכל תיקיה בנפרד.

    בחילוץ אני יודע שאפשר ב7-ZIP לסמן את כל הקבצים לחילוץ ולתת לו הוראה לחלץ כל קובץ לתיקיה נפרדת אבל בכיווץ אני לא מוצא אפשרות כזאת.

    יש דרך/תוכנה שתחסוך לי דחיסה ידנית אחד אחד?

    תודה רבה
    9
    ניסת את זה (לסמן את כל התיקיות>ADD TO ARCHIVE ואז לבחור אפשרות זו שבתמונה) ?

    0_1542191761867_111.PNG


  • @dovid אמר ביצירת קבצי ארכיון מרובים:

    אמור לעבוד עם סיומת bat, מה הכונה לא רץ?

    נפתח שורת פקודה לחצי שניה ונסגר.

    @yossiz אכן בPS היכולות גדולות יותר, ואדרבא קל שמה יותר אחרי שלומדים.
    ניסיתי לכתוב זאת בPS, זה יוצא ככה:

    $dir = dir | ?{$_.PSISContainer}
    
    foreach ($d in $dir){
        & "C:\Program Files\7-Zip\7z.exe" a ($d.FullName + ".7z") $d.FullName
    }
    

    לשמור כקובץ עם סיומת ps1, לשים בתיקיה הרצויה, קליק ימני וRun.

    בקצת שאני מבין אני רואה שזה יצור לי בפורמט 7z. כדי ליצור קבצי zip נכון לכתוב כך:

    $dir = dir | ?{$_.PSISContainer}
    
    foreach ($d in $dir){
        & "C:\Program Files\7-Zip\7z.exe" a ($d.FullName + ".zip") $d.FullName
    }
    

    ?


  • אני חושב שאתה צודק והוא מבין דרך הסיומת, אם לא תכתוב ככה:

        & "C:\Program Files\7-Zip\7z.exe" a ($d.FullName + ".zip") $d.FullName -tzip

  • @אלי-tza אמר ביצירת קבצי ארכיון מרובים:

    יש אפשרות להכין מזה קובץ שאני יריץ במיקום המבוקש?
    ניסיתי לשמור כטקסט עם סיומת cmd או bat אך הקובץ לא רץ.
    תודה רבה!

    כדי שיעבוד כbat צריך לכתוב כך:

    for /D %%a in (*) do ("C:\Program Files\7-Zip\7z.exe" a "%%a.zip" "%%a\")
    

    למה? אין לי מושג...


  • @dovid איך הסקריפט שלך מסתדר עם תקייות שיש רווח בשם שלהם (אני בדקתי והוא מסתדר, השאילה איך)?

בא תתחבר לדף היומי!