דף 1 מתוך 1

סקריפט ב-Batch על תיקייה

נשלח: 26/04/2013 12:16
על ידי AmitMa
שלום.
אני מנסה לעשות דבר כזה: בלחיצת כפתור ימני על תיקייה תהייה אפשרות חדשה (נגיד NEW) שבלחיצה עליה תריץ סקריפט.
אני יודע שזה ברג'יסטרי, וכבר הוספתי מה שצריך. הבעיה שכשאני מריץ את הסקריפט, הנתיב שלו הוא לא התיקייה שסימנתי, אלא תיקייה מעליה.
לדוגמא: אם התקייה שלחצתי עליה קליק ימני היא c:\script\new אז הוא לא יפעיל את הסקריפט על new אלא על script.
רק בשביל הקטע, נגיד שהסריפט הוא
@echo %cd%

הפלט שמתקבל הוא, שוב, התיקייה למעלה. הבעיה היא ב- %CD%. למישהו פתרון מה צריך לרשום במקום? תודה!!!

נשלח: 27/04/2013 7:51
על ידי moti_r
אתה צריך:

cd /d %~dp0

נשלח: 27/04/2013 21:22
על ידי AmitMa
אתה מתכוון בנתיב של הסקריפט? כי זה לא נותן...

נשלח: 27/04/2013 22:05
על ידי Kitty
הרגע סיימתי לכתוב משהו דומה :)

כתבתי סקריפ batch עבור ה-jar של ytwig
כאשר בסוף הוא מראה לך גם את הלוג.

הרי הוא לפניך:

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

@echo off
echo. > C:\path\to\autosub.log

"C:\Program Files (x86)\Java\jre6\bin\javaw.exe" -jar "C:\path\to\autosub_0.1.jar" %1

:LOOP
PSLIST javaw.exe >nul 2>&1
IF ERRORLEVEL 1 (
  GOTO CONTINUE
) ELSE (
  SLEEP 5
  GOTO LOOP
)

:CONTINUE

type "C:\path\to\autosub.log"


pause
בregistry:
תיצור קי חדש תחת:
HKEY_CLASSES_ROOT\Directory\shell
תתן לו שם כלשהוא, ותחת הסטרינג הדיפולטיבי תן משהו כמו "Find Subtitles" זה מה שיופיע בתפריט
ואז תיצור תחתיו עוד קי בשם "command"
ושם בסטרינג הדיפולטיבי:
"C:\path\to\your-batch.bat" "%1"

אז בתאכלס מה שאתה צריך זה %1 ו%1 כדי להעביר את הכתובת של התיקיה

בהצלחה!

נשלח: 28/04/2013 14:00
על ידי moti_r
AmitMa כתב:אתה מתכוון בנתיב של הסקריפט? כי זה לא נותן...
...
לדעתי לא הבנתי אותך נכון.
כתבתי לך שורה שצריך להכניס בתחילת BATCH FILE כדי שהוא יעשה CD אל הספריה שבה הוא רץ... :)

נשלח: 29/04/2013 23:12
על ידי AmitMa
Kitty, שיחקת אותה... בדיוק מה שהייתי צריך, ויותר מזה.
מוטי, תודה גם לך.