simonsayz
Goto Top

Script unter Cygwin per Batch Script starten

Hallo Freunde,

ich habe ein batch-Script geschrieben das gut funktioniert.
Nun soll dieses Script nachdem (!) es durchgelaufen ist ein weiteres Script anstoßen.
Dieses liegt leider unter Cygwin und ist ein bash-Script.

Könnt ihr mir vielleicht einen Denkanstoß geben wie das zu bewerkstelligen ist?

Content-Key: 222491

Url: https://administrator.de/contentid/222491

Printed on: April 25, 2024 at 16:04 o'clock

Member: Lochkartenstanzer
Lochkartenstanzer Nov 20, 2013 updated at 11:12:07 (UTC)
Goto Top
Moin,

einfach bash.exe mit passenden Parametern aufrufen. face-smile


nachtrag:

set PATH=C:\cygwin\bin;%PATH%
c:\cygwin\bin\bash.exe C:\Pfad\zu\script.sh

oder so ähnlich.

lks
Member: simonSayz
simonSayz Nov 20, 2013 at 13:07:32 (UTC)
Goto Top
danke das habe ich soweit auch versucht... kann ich irgendwie eine Rückmeldung übers cmd bekommen ob der Cygwin Teil erfolgreich durchgelaufen ist? Am besten auch mit ins robocopylog.txt ?!

robocopy P:\proImg C:\javaclient\proPic /e /mir /m
if errorlevel 0 echo Kopiervorgang erfolgreich %date%,%time% >> C:\javaclient\robocopylog.txt 
else if errorlevel !==! 0 echo Kopiervorgang nicht erfolgreich %date%,%time% >> C:\javaclient\robocopylog.txt

pause

c:\cygwin\bin\bash.exe -l c:\cygwin\home\Administrator\script.sh
pause

bei diesem "Gebilde" wird nach einem erfolgreichen Kopiervorgang in die Robocopylog.txt reingeschrieben.
Der "else" teil scheint noch nicht richtig zu sein... bin aber zu blind den Fehler zu sehen face-sad

Ausserdem bekomme ich es nicht hin den robocopy-Teil mit start /wait laufen zu lassen...der 2 Teil soll erst laufen wenn das Kopieren beendet ist .

Vielen Dank für deine Hilfe!
Member: Lochkartenstanzer
Lochkartenstanzer Nov 20, 2013 at 14:58:56 (UTC)
Goto Top
Zitat von @simonSayz:

> robocopy P:\proImg C:\javaclient\proPic /e /mir /m
> if errorlevel 0 echo Kopiervorgang erfolgreich %date%,%time% >> C:\javaclient\robocopylog.txt 
> else if errorlevel !==! 0 echo Kopiervorgang nicht erfolgreich %date%,%time% >> C:\javaclient\robocopylog.txt
> 

bei diesem "Gebilde" wird nach einem erfolgreichen Kopiervorgang in die Robocopylog.txt reingeschrieben.
Der "else" teil scheint noch nicht richtig zu sein... bin aber zu blind den Fehler zu sehen face-sad

Nach dem else dürfte die if-Abfrage sich erübrigen, da ja erneut der errorlevel abgefragt wird.. Also einfach "if errorlevel !==! 0" weglassen, denke ich.

dadurch, daß dDu erreorlevel beim ersten mal abgefragt hast, ist der weg und die zweite Abfrage bekommt 0 zurück. face-smile

lks

PS: Du könntest nachschauen schauen, ob die bash eien errorlevel zurückgibt, wenn Du das bash-skript mit "exit" und passendem status-parameter beendest.