Die Eingabeaufforderung schneidet den Befehlsaufruf ab

370
JAD

Ich versuche, ein Paket über Rstudio zu erstellen, aber bei den system()Aufrufen, die an die Eingabeaufforderung gesendet werden, ist ein Fehler aufgetreten :

"//networkpath/JDUB~PN6/DOCU~UZL/R/R-34~TN4.0/bin/x64/R" \ --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL \ "R:\NL\Database Marketing\R library\independeR" --build -d --preclean   '\\networkpath\JDUB~PN6\DOCU~UZL\R\R-34~TN4.0' is not recognized as an internal or external command, operable program or batch file. 

Aus irgendeinem Grund kürzt die Eingabeaufforderung den Befehl "//networkpath/JDUB~PN6/DOCU~UZL/R/R-34~TN4.0/bin/x64/R"auf '\\networkpath\JDUB~PN6\DOCU~UZL\R\R-34~TN4.0'.

Wenn ich den Aufruf an der system()Eingabeaufforderung manuell eingebe, passiert dasselbe.

Warum passiert das und gibt es eine Möglichkeit, das Problem zu beheben?

Bearbeiten: In der Zwischenzeit habe ich eine Problemumgehung in R gefunden, aber aus Gründen dieser Frage möchte ich immer noch herausfinden, warum die Eingabeaufforderung dies tut.

1
Wie viele Charaktere hat dieser Weg insgesamt? Overmind vor 7 Jahren 0
Der gesamte Pfad, einschließlich `/ R`, umfasst 67 Zeichen ohne die Anführungszeichen. JAD vor 7 Jahren 0
Der abgeschnittene Befehl umfasst 57 Zeichen, einschließlich "R-34 ~ TN4.0". JAD vor 7 Jahren 0
Hier könnte eine dumme Frage gestellt werden, aber was ist mit den Schrägstrichen zum Senden nach vorne zur Eingabeaufforderung? Twisty Impersonator vor 7 Jahren 0
@Twisty Der Befehl, den ich ausführen möchte, wird von `R``s` devtools :: build () `erstellt. Der Pfad zu "R" wird von der Funktion "R.home ()" erstellt, die Vorwärtsschrägstriche zurückgibt. JAD vor 7 Jahren 0
Versuchen Sie Folgendes: //networkpath/JDUB~PN6/DOCU~UZL/R/"R-34~TN4.0/bin"/x64/R \ --no-site-file --no-environ --no-save --no-restore --quiet CMD INSTALL \ "R: \ NL \ Database Marketing \ R Bibliothek \ independeR" --build -d --preclean Overmind vor 7 Jahren 0
@Overmind Gleiches Problem. JAD vor 7 Jahren 0
In der Zwischenzeit fand ich eine Problemumgehung in R, aber um dieser Frage willen möchte ich immer noch herausfinden, warum die Eingabeaufforderung dies tut. JAD vor 7 Jahren 0
Hat es am genau gleichen Charakter versagt? Overmind vor 7 Jahren 0
Ja, mit exakt derselben Ausgabe. JAD vor 7 Jahren 0
Wenn ich zuerst `cd` zu` // networkpath / JDUB ~ PN6 / DOCU ~ UZL / R / `` bringe und dann den Rest des Pfads zum Befehl gebe, funktioniert es. JAD vor 7 Jahren 0
Speichern Sie in diesem Fall die beiden Teile in 2 Variablen und verwenden Sie sie stattdessen. Overmind vor 7 Jahren 0
Der Pfad mit kombiniertem Befehl ist also einfach zu lang, um die Eingabeaufforderung zu verarbeiten. JAD vor 7 Jahren 0
Wenn es eine Beschränkung gibt, wie lange ein Befehl sein kann, ist mir das nicht bewusst, aber mit diesem Befehl sind Sie sicherlich nicht in der Nähe. Twisty Impersonator vor 7 Jahren 0

0 Antworten auf die Frage