21.05.2015, 14:30
Kennt sich irgendjemand mit Batch Scripten in Windows aus?
Ich versuche ein Bash Script aus Linux nach Windows zu porten.
Dabei loope ich über diverse Dateien, starte pro Datei ein Programm und führe diverse Codezeilen aus bei denen die Dateien ein Parameter sind, bevor ich zur nächsten Datei weitergehe.
Unter Linux kann ich die Codezeilen einfach wie eine Herefile übergeben, aber soweit ich weiß geht das in Windows nicht. Gibt es einen Workaround?
Das hier ist der ursprüngliche Linux-Code:
Und das hier habe ich bisher in Windows geschrieben. Funktioniert halt nur noch nicht.
Ich versuche ein Bash Script aus Linux nach Windows zu porten.
Dabei loope ich über diverse Dateien, starte pro Datei ein Programm und führe diverse Codezeilen aus bei denen die Dateien ein Parameter sind, bevor ich zur nächsten Datei weitergehe.
Unter Linux kann ich die Codezeilen einfach wie eine Herefile übergeben, aber soweit ich weiß geht das in Windows nicht. Gibt es einen Workaround?
Das hier ist der ursprüngliche Linux-Code:
Code:
#!/bin/bash
DIR='/home/celestis/workspace/TekScope'
for f in "$DIR"/*Wfm_Ch2.csv;
do
INFILE='"'${f}'"'
ROOTFILE='"'${f}'.root"'
cd /home/celestis/workspace/Rayleigh
root -l <<EOF
.L maketree.C
create($INFILE, $ROOTFILE)
EOF
done
Und das hier habe ich bisher in Windows geschrieben. Funktioniert halt nur noch nicht.
Code:
@ECHO OFF
SET CODEDIR = %HOMEPATH%\Dropbox\workspace\Rayleigh
SET TEKSCOPE = %HOMEPATH%\Dropbox\workspace\TekScope
cd %TEKSCOPE%
FOR %%i IN (*Wfm_Ch2.csv) DO (CALL :rootloop)
:rootloop
SET INFILE=%%i
SET OUTFILE=%%i.root
cd %CODEDIR%
start "" "root" -l
.L maketree.C
create(%INFILE%, %ROOTFILE%)
.q