Meine Java-Anwendung führt einen Befehl wie folgt aus:Wie führe ich einen Runtime-Befehl in einer JAR-Datei von einem USB-Laufwerk aus?
String Command="C:\A_Test\Dir_PC_Customizer\Chinese_English_Dictionary_PinItem.cmd";
Runtime.getRuntime().exec(Command);
ich es in eine Jar-Datei gepackt und es läuft von C fein:/Laufwerk. Aber nachdem ich es in ein USB-Stick-Laufwerk kopiert habe, wird es nicht ausgeführt.
Und meine Chinese_English_Dictionary_PinItem.cmd Datei ist:
@echo off
set ITEM=
set TASKBAR=
set ITEM=/item:"C:\A_Test\Dir_Chinese_English_Dictionary\Chinese_English_Dictionary.exe"
set TASKBAR=/taskbar
echo on
:: Pin to Taskbar
cscript //nologo PinItem.wsf %ITEM% %TASKBAR%
Wenn es von C laufen gelassen:
Command = C:\A_Test\Dir_PC_Customizer\Chinese_English_Dictionary_PinItem.cmd
Result :
Executing : C:\A_Test\Dir_PC_Customizer\Chinese_English_Dictionary_PinItem.cmd
C:\Dir_PC_Customizer>cscript //nologo PinItem.wsf /item:"C:\A_Test\Dir_Chinese_English_Dictionary\Chinese_English_Dictionary.exe" /taskbar
Property item is now = C:\A_Test\Dir_Chinese_English_Dictionary\Chinese_English_Dictionary.exe
Property taskbar is now =
Microsoft Deployment Toolkit version: 6.1.2373.0
------------ Initialization PinItem -------------
The /item switch specified with value: C:\A_Test\Dir_Chinese_English_Dictionary\Chinese_English_Dictionary.exe
The /taskbar switch was specified.
Function-GetSpecialFolder: Cannot determine special folder for CSIDL_PROFILES
Item "C:\A_Test\Dir_Chinese_English_Dictionary\Chinese_English_Dictionary.exe" pinned successfully
------------ Departing PinItem -------------
PinItem processing completed successfully.
Aber wenn es laufen von einem USB-Laufwerk, dem Ausgang: /, die Ausgabe wie folgt aussieht sieht wie folgt aus:
Executing : C:\A_Test\Dir_PC_Customizer\Chinese_English_Dictionary_PinItem.cmd
F:\Dir_PC_Customizer\dist>cscript //nologo PinItem.wsf /item:"C:\A_Test\Dir_Chinese_English_Dictionary\Chinese_English_Dictionary.exe" /taskbar
Input Error: Can not find script file "F:\Dir_PC_Customizer\dist\PinItem.wsf".
Hinweis: sie die gleiche Datei ausgeführt werden:
C:\A_Test\Dir_PC_Customizer\Chinese_English_Dictionary_PinItem.cmd
sie ausgeführt werden nur von C:/oder von F:/
Was offensichtlich ist, ist: wenn man von C laufen: /, es ist: C: \ Dir_PC_Customizer> cscript
Wenn run von F: /, es ist F: \ Dir_PC_Customizer \ dist> cscript
Und die Fehlermeldung sagt: "F: \ Dir_PC_Customizer \ dist \ PinItem.wsf" nicht gefunden, weil PinItem.wsf und andere wenige Dateien sind : F: \ Dir_PC_Customizer [und in C: \ A_Test \ Dir_PC_Customizer], nicht in dist.
Meine Frage ist: Wenn ich es von jedem Laufwerk laufen lassen möchte: C: /, F:/oder G: /, was soll ich tun?
Ich denke, ein Weg, es zu tun, ist es zu sagen "obwohl ich" F: \ Dir_PC_Customizer \ dist "laufen, aber vorgeben, ich laufe von" C: \ A_Test \ Dir_PC_Customizer ", aber wie sagen, es Verzeichnis zu wechseln? das ist der Schlüssel.
ist Chinese_English_Dictionary_PinItem.cmd verteiltes innerhalb des gleichen Ordners wie dein Glas? – baudo2048
Es ist nicht innerhalb des Glases. – Frank