Probleme mit Leerzeichen in Pfaden beim Aufrufen einer Batchdatei aus R
Ich habe einige Probleme, ein Kommandozeilenprogramm namens molconvert von R mit aufzurufensystem()
in Windows. molconvert befindet sich in"C:\Program Files\ChemAxon\MarvinBeans\bin"
Ich würde dann gerne anrufensystem()
odershell()
um nachzuahmen, was ich durch Tippen erreichen würde
molconvert pdb "C:\molecule conversions\cembrene A.mol"
an der Eingabeaufforderung und sammeln Sie die resultierende Ausgabe zurück zu R wie in
out=system(...,intern=T)
Ich scheine allerdings Probleme mit den Backslashes und den Leerzeichen in den Pfaden zu haben. Ich habe es mit versucht
dirmolconvert="C:\\Program Files\\ChemAxon\\MarvinBeans\\bin"
shell(shQuote(paste(dirmolconvert,"\\molconvert pdb "C:\\cembrene A.mol",sep="")))
Aber das gibt mir "Fehler: Unerwartetes Symbol in ..." und das Entkommen aus dem "hilft auch nicht weiter. Irgendwelche Gedanken darüber, wie ich das beheben soll?
oder
system(paste(dirmolconvert,"\\molconvert pdb \"C:\\cembrene A.mol\"",sep=""), intern=T)
aber das gibt mir
'C:\Program' not found
Irgendwelche Gedanken?
Bearbeiten: Basierend auf der Antwort unten ist der richtige Weg, dies zu tun, offensichtlich
inputdir="C:/Users/Ento/Documents/GCMS/molconvert test"
molconvertdir="C:/Program Files/ChemAxon/MarvinBeans/bin"
molecule="cembrene A.mol"
out=system(paste(shQuote(file.path(molconvertdir, "molconvert.bat")),
"pdb",
shQuote(file.path(inputdir,molecule))),intern=T)