Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch-Erklärungsbedarf

Frage Entwicklung Batch & Shell

Mitglied: Pantherstyle

Pantherstyle (Level 1) - Jetzt verbinden

12.05.2009, aktualisiert 18.10.2012, 3611 Aufrufe, 11 Kommentare

Hallo ich habe eine Batch bekommen mit der Aufgabe sie zu verstehen und im Anschluss zu verändern:
01.
echo Cheking svn directory... 
02.
svn --version --quiet 
03.
IF %ERRORLEVEL%==0 GOTO :StartMerge 
04.
IF EXIST "N:\Program Files\svn-win32-1.6.1" ( GOTO UseSVN ) 
05.
echo could not found svn executable.  
06.
GOTO ERROR  
07.
 
08.
 
09.
rem ######################################################################## 
10.
:UseSVN 
11.
echo setting PATH... 
12.
set PATH=N:\Program Files\svn-win32-1.6.1;%PATH% 
13.
 
14.
:StartMerge 
15.
echo starting merge... 
16.
 
17.
if "X%1"=="X" (echo usage: svn_merge.bat repository workdirectory datafile & goto ERROR ) ELSE set REPOS=%1 
18.
 
19.
if "X%2"=="X" (echo usage: svn_merge.bat repository workdirectory datafile & goto ERROR ) ELSE set WRKDIR=%2 
20.
 
21.
if "X%3"=="X" (echo usage: svn_merge.bat repository workdirectory datafile & goto ERROR ) ELSE set DATAFILE=%3
Im unteren Teil des Codes ist ein Vergleich von X%1==X zu sehen, doch wozu dient der Vergleich und woher stammt %1 ?
Mitglied: Biber
12.05.2009 um 13:53 Uhr
Moin Pantherstyle,

die drei Prüfungen unten dienen nur dazu festzustellen, ob die Batchdatei auch mit DREI (nicht keinem, nicht einem, nicht nur zwei) Paramtern aufgerufen wird.

Denn es MÜSSEN, wie auch in der Fehlermeldung steht
.... repository workdirectory datafile

--> 3 Parameter an/mitgegeben werden
--> [%1=repository, %2= workdirectory; %3=datafile] sind Pflicht- und keine optionalen Parameter

Grüße
Biber
Bitte warten ..
Mitglied: Pantherstyle
12.05.2009 um 14:02 Uhr
Nur woher werden denn die ANgaben für die 3 Positionen hergenommen? Bzw wie werden %1-3 belegt?
Bitte warten ..
Mitglied: 60730
12.05.2009, aktualisiert 18.10.2012
Zitat von Pantherstyle:
Nur woher werden denn die ANgaben für die 3 Positionen
hergenommen? Bzw wie werden %1-3 belegt?
Servus,

"das" erklärt dir dann sicherlich jemand, dem du Hallo und Danke sagst.
http://www.administrator.de/wissen/qualit%c3%a4t-der-beitr%c3%a4ge-l%c3 ...

Gruß
Bitte warten ..
Mitglied: linkit
12.05.2009 um 14:41 Uhr
Das sind Kommandoparameter, wenn du in der Kommandozeile die Datei aufrufst, kannst du Paramter übergeben so wie bei den Kommadobefehlen von Windows:

Beispiel Befehl dir ==> der zeigt dir das aktuelle Verzeichnis
dir /s ==> zeigt dir das aktuelle und alle Unterverzeichnisse

/s ist somit %1

die paramter werden nach dem Befehl mit Leerzeichnen eingegeben: Befehl LEER %1 LEER %2 LEER %3
Bitte warten ..
Mitglied: Pantherstyle
12.05.2009 um 15:12 Uhr
Sorry, wenn ich eine unhöfliche Art zu fragen habe, aber das Hallo dachte ich mir kommt am besten wie im realen Leben einmal am Tag wenn es noch nicht gesagt wurde. Das mit dem Danke kommt bei mir immer wenn das Problem für mich gelöst wurde. Falls der Link darauf hinweisen sollte, dass meine Frage zu unwichtig ist, dann werde ich das Forum nicht mehr belästigen und mir ein anderes suchen. Andernfalls hoffe ich, dass ich jetzt vom Stil her verstanden werde.

@linkit
Wenn ich das jetzt richtig verstehe müsste die Datei in der DOS-Shell aufgerufen und mit 3 Befehlparametern übergeben werden, oder hohlt sich das Script diese automatisch über den bisher geposteten Code?
Bitte warten ..
Mitglied: 60730
12.05.2009 um 15:23 Uhr
Servus,

der link diente dazu, dir begreiflich zu machen, warum ich so nett bin

Und da du deine Antwort wohl ausschliesslich nach der Überschrift des verlinkten Artiels verfasst hast - scheint mir mein anderes Vorurteil - liesst eh keiner - siehe Text im verlinkten Artikel - war keines.

Und nichts freut mich mehr, als widerlegt zu werden (edit -speziell in diesem Fall /edit)

meine Frage zu unwichtig ist, dann werde ich das Forum nicht mehr belästigen..

Du, bitte nicht so, weil dann komme ich dir mit dem gleichen O-Ton - wen der link den ich dir geschrieben habe zu unwichtig zum lesen ist - bla bla - auf das Niveau wollte ich eigentlich nicht.

Und ja - parameter werden angehängt. Siehe Text vom Biber

btw: es wäre auch tatsächlich "Heute" dein erster Text gewesen, wenn du es so genau wissen möchtest - ein Hallo hätte also laut deiner Aussage grade noch so gepasst

Gruß
Bitte warten ..
Mitglied: Pantherstyle
12.05.2009 um 15:45 Uhr
Das "Hallo" habe ich mit der einleitenden Fragestellung an alle die dieses Thema ansehen wollen geliefert (morgen gäbe es noch eines, wenn das Problem akut bleibt). Der bösartige Unterton meiner Aussage war wirklich beabsichtigt, da ich mich der Dame aus deinem geposteten Link nahe gefühlt habe. Meine Fragen, stelle ich zumeist erst nach Stundenlangem durchdenken (Compiler spielens) und oder quälens von google. Da mir der passende Suchbegriff für google gefehlt hat (wie verwertet man %1 und DOS?) habe ich diverse Batch-Tutorials zum Teil erneut durchforstet und nichts darauf zutreffendes gefunden. Mir ist das selbst peinlich genug wenn ich mich vor Dummheit selbst geißeln muss, wenn Jemand in einem Forum meine Blockade löst. Leider ist es so manchem Antwortenden die höchste Intension zu zeigen, dass er es so drauf hat, dass er die professionellen Fehler in einem Text säuberlich aufzählt (z.B. es heißt DOS-Shell und nicht DOS-Box) ohne dabei das Problem nur ein wenig zu sichten. Keine Kritik an Eurem Forum, denn ich stelle hier gerne meine Fragen, da einem wirklich geholfen wird. Ich stelle auch meine Fragen so präzise wie es mir möglich ist, halt so wie ich sie selbst gerne lesen würde.

Tut mir jetzt doppelt sorry dass ich etwas patzig war aber Hilfe brauche ich denke ich weiterhin. Was ich mir noch nicht vollständig vorstellen kann ist die Form in der ein korrekter Aufruf der Datei erfolgen muss.

Wie ich es jetzt aufgefasst habe:

cd C:\Arbeitskopie\trunk\Daten\SoftwarePaket

svn_merge.bat \%1 \%2 \%3

...

"Done"


Aber eine derartige Eingabe habe ich noch nicht gesehen, weshalb ich vermutet habe, dass diese Daten vor der 1. Subroutine eingelesen werden. evtl durch
svn --version --quiet

Ich hoffe mal dass ich keine triviale Frage stelle (edit: Unterton wirklich nicht beabsichtigt)
Bitte warten ..
Mitglied: 60730
12.05.2009 um 15:59 Uhr
Servus,

Beispiel.cmd
01.
if not "%1"=="" if not "%2"=="" if not "%3"=="" echo Parameter 1=%1-Parameter 2=%2-Parameter 3=%3
schreib das in eine bat / cmd und starte es aus einer Dosbox, Dosshell oder in einer MS-DOS-Eingabeaufforderung mit test 1 2 3 oder anderen 3 mit leerzeichen getrennten Buchstaben / Wörtern.

Gruß
Bitte warten ..
Mitglied: geTuemII
12.05.2009 um 16:04 Uhr
Hallo Panther,

willkommen erstmal im Forum.

[korrekter Aufruf der Datei]
cd C:\Arbeitskopie\trunk\Daten\SoftwarePaket
svn_merge.bat \%1 \%2 \%3

genau so. Oder halt die direkte Variante: C:\Arbeitskopie\trunk\Daten\SoftwarePaket\svn_merge.bat \%1 \%2 \%3

Im Code siehst du übrigens gleich dreifach, wie der Aufruf aussehen muß: usage: svn_merge.bat repository workdirectory datafile

In Zeile 17 wird geprüft, ob das erste Argument vorhanden ist wenn ja, wird mit dem Wert die Variable REPOS belegt, falls nicht, wird die obige Info über den korrekten Aufruf des Batches ausgegeben. In Zeile 19 wird überprüft, ob ein zweites, in Zeile 21, ob auch ein drittes Argument vorhanden ist und die Variablen entsprechend belegt.

geTuemII
Bitte warten ..
Mitglied: Pantherstyle
12.05.2009 um 16:04 Uhr
Hallo und Danke (das war jetzt Spaßeshalber). Mit dieser Antwort kann ich gut weitermachen. Jetzt versteh ich nämlich wo er sich den Unsinn herhohlt und an was ich rumspielen muss um es zu verstehen. Das Thema ist wahrscheinlich noch aktuell, da noch nicht AlleKlarheiten beseitigt sind.

Aber auf jeden Fall dankeschön erstmal (das Danke jetzt weil echt geholfähn).
Bitte warten ..
Mitglied: Pantherstyle
12.05.2009 um 16:06 Uhr
Ok jetzt kann das Topic geschlossen werden Danke Allen!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch: Batch in batch in cfg schreiben
gelöst Frage von pixelBfBatch & Shell2 Kommentare

Hayy, ich bin neu hier im forum:)) Meine frage: Kann ich eine batch schreiben die was in eine batch ...

Batch & Shell
Wie ändert eine batch eine bestimmte zeile in einer anderen batch
Frage von J4YK0BBatch & Shell3 Kommentare

Wie schreibt eine batch eine andere batch um, aber nur eine SPEZIELLE zeile? Das System ist wiefolgt. Man gibt ...

Batch & Shell
Womit kann ich in einer Batch viertelstündlich eine andere Batch aufrufen?
Frage von red-eyeBatch & Shell16 Kommentare

Hallo allerseits! Seit drei Stunden versuche ich selbst einen geeigneten Befehl zu finden, bzw. hier im Forum eine Antwort ...

Batch & Shell
Batch bleibt hängen - wie kann die Batch neugestartet werden?
gelöst Frage von dax4funBatch & Shell6 Kommentare

Hi Leute , wieder ein Sonderfall habe eine Batch ständig am rennen im Hintergrund doch irgendwann bleibt sie hängen ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 3 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...