עבור לתוכן

מעוניין ליצור BATCH שירוץ על כל המערכות בGPO

Featured Replies

פורסם

היי חברים,

אודה לעצות שלכם icon_smile.gif

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

1. בדיקה אם קיימת תקייה X במערכת, במידה ולא קיימת - ליצור אותה.

2. לבצע העתקה של קובץ XML אל התקייה הזו.

3. הפעלה של קובץ REG מסויים.

בנוסף לקוד - אחת הבעיות שצצות לי היא העתקת כל הקבצים האלה אל המערכות.

איך וממה אתם ממליצים לי להתחיל? icon_smile.gif

תודה מראש לכולם!

פורסם


if exist c:\bdika\file.xml goto end
if not exist c:\bdika md "c:\bdika"
copy \\server\share\file.xml c:\bdika
%systemroot%\regedit /s "\\server\share\myregfile.reg"

:end

לדחוף את זה בלוגון סקריפט (בשינויים המתאימים ולאחר בדיקה) ושלום על ישראל

רק שים לב ל-2 נקודות

1. צריך להיות הרשאה ברמה מספקת על השיתוף

2. למשתמש שמריץ צריך להיות הרשאה מספקת על התחנה

בהצלחה,

גבריאל

פורסם
  • מחבר

גדול אתה! תודה רבה :)

רק תיקון קטן...

רציתי שאם התקייה קיימת אז פשוט להעתיק את הXML ולהריץ אותו...

פורסם

מה הכוונה להריץ XML?

עד כמה שאני יודע זה יפתח לך בתך הדפדפן או מה שהוגדר כ"פרסר" עבורו

בכל מקרה להערתך:


[FONT=Arial]if exist c:\bdika\file.xml goto end[/FONT]
if not exist c:\bdika md "c:\bdika"
copy \\server\share\file.xml c:\bdika
start c:\bdika\file.xml
%systemroot%\regedit /s "\\server\share\myregfile.reg"
[FONT=Arial]:end[/FONT]

נשאל אחרת - מה אתה מנסה בדיוק להשיג

פורסם
  • מחבר

סליחה, טעות שלי...להעתיק את הXML ואז להריץ את הREG.

- - - תגובה אוחדה: - - -

איך זה?

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


if exist c:\bdika\ goto a:
if not exist c:\bdika md "c:\bdika" goto a:

a:
copy \\server\share\file.xml c:\bdika
%systemroot%\regedit /s "\\server\share\myregfile.reg"

:end


תוכל רק לעזור לי עם הסינטקס? :)

tאגב, את הREG אני רוצה להפעיל על הXML שהועתק ולא על הכונן רשת...

איך אני עובד עם הדגלים בBATCH FILE?

פורסם

נחזור רגע אחד אחורה מה הקשר בין קובץ ה-XML לקובץ ה-REG - על פניו אין ביניהם קשר - או שאני מפספס

אגב הפניה ב-GOTO עושים

[FONT=Arial]goto Z[/FONT]

ואז

[FONT=Arial]:Z[/FONT]

כמו שאתה כתבת הוא ינסה ללכת לכונן A (היה פעם כזה...)

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

פורסם

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

@echo off
if exist "c:\bdika" goto A
if not exist "c:\bdika" md "c:\bdika"

A:
copy \\server\share\file.xml c:\bdika > nul
%systemroot%\regedit /s "\\server\share\myregfile.reg" > nul

:END
exit

פורסם

אכן יותר נקי - אני מסכים לגמרי

אני בד"כ לא מתייחס יותר מדי לאסתטיקה - כל עוד שזה עושה את העבודה לא אכפת לי קצת "לכלוך"

רק שים לב לתווית A - היחוס בנקודותיים כתוב הפוך

ככה זה ינסה ללכת לכונן A (שמן הסתם לא קיים)

  • 2 שבועות מאוחר יותר...
פורסם

מהנסיון שלי לא ניתן לעשות העתקה מנתיב רשת

לדוגמה השורה

copy \\server\share\file.xml c:\bdika

לא תעבוד, ולכן כדי לתקן את הבעיה אמליץ לכם להשתמש ב NET USE כדי למפות כונן רשת להעתיק משם את הקבצים ואחרי זה לנתק אותו

קוד שלי לדוגמה:

net use m: \\server\Moty_p

copy m:\file.xml c:\bdika\file.xml

net use m: /delete /YES

פורסם
  • מחבר

אז לצורך העניין - זה אמור לעשות את העבודה:


@echo off
if exist "c:\bdika" goto A
if not exist "c:\bdika" md "c:\bdika"

A:

net use m: \\server\Moty_p
copy m:\file.xml c:\bdika\file.xml
net use m: /delete /YES

%systemroot%\regedit /s "\\server\share\myregfile.reg" > nul

:END
exit

[LEFT]




[/LEFT]

אגב, מה תפקיד הNULL פה?

פורסם

טרם נתקלתי בבעיה בהעתקה מ-UNC ב-BATCH

אבל זה גם פתרון

פורסם

nul ב Windows שווה ערך ל /dev/null ב מערכות הפעלה ממשפחת UNIX/BSD.

מדובר על קונספט שהולך היבטורית אחורה עד ל CP/M.

http://en.wikipedia.org/wiki/NUL:

פורסם

זה פשוט מציג output במקום בחלון cmd, בשום מקום

ארכיון

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

דיונים חדשים