Frage

Ich habe mich gefragt, ob jemand helfen könnte.Ich habe ein Java-Programm geschrieben, das eine CVS-Datei auf ein USB-Flash-Laufwerk lädt.Dieses Programm wird wahrscheinlich auf mehreren verschiedenen Windows-Laptops verwendet, aber das Programm verwendet einen festen Dateispeicherort, z. B. Laufwerk :F.

Ich habe mich gefragt, ob es eine Möglichkeit gibt, die Buchstabenzuweisung beim Einstecken des Flash-Laufwerks auf etwas wie Laufwerk :T festzulegen, sodass das Laufwerk unabhängig vom Anschluss oder Computer, an den es angeschlossen ist, automatisch vom Java-Programm gelesen werden kann.Ich wollte dies in einer Batch-Datei auf dem USB-Stick tun, damit der Benutzer den Computer nicht manuell auf den Wechsel des Flash-Laufwerks einstellen muss.Da einige der Programmbenutzer sehr alt sind, ist es unwahrscheinlich, dass sie dazu in der Lage sind, selbst wenn sie Schritt-für-Schritt-Anleitungen erhalten.

Ich habe noch nie eine Batch-Datei geschrieben, daher wäre jede Hilfe großartig

Mit freundlichen Grüße

War es hilfreich?

Lösung 2

Dieser Stapel sucht nach einem Laufwerk, das eine „Schlüssel“-Datei oder einen Schlüsselordner enthält, und nach der Subst-Laufwerksnummer:(Ja, das ist ein gültiger Laufwerksbuchstabe und selten genug, um mit nichts in Konflikt zu geraten) auf das richtige Laufwerk.Verwenden Sie einfach Laufwerksnummer:in Ihrem Programm.Wenn die Batch-Datei ihre Arbeit beendet, ist die Fehlerstufe 0, andernfalls ist die Fehlerstufe 1

@echo off

    setlocal enableextensions

    rem if our special drive is assigned, release it
    if exist #:\ subst #: /d >nul

    rem if there are problems, exit
    if errorlevel 1 goto endSearch

    rem search drives for "key" file/folder
    set "keyFile=\data\mySpecialFile.csv"
    for %%d in (z y x w v u t s r q p o n m l k j i h g f e d c b a) do (
        vol %%d: >nul 2>nul && if exist "%%d:%keyFile%" (
            rem map our drive
            subst #: %%d:\ > nul 2> nul
            rem if everything ok end search
            if not errorlevel 1 goto endSearch
        )
    )

:endSearch
    rem cleanup and return errorcode as necessary
    endlocal && if exist "#:%keyFile%" ( exit /b 0 ) else (exit /b 1)

Andere Tipps

Sie können verwenden subst um dies zu tun:

subst T: %~d0\

Solange du T weißt:wird nicht verwendet.Da Sie Ihr Java-Programm für einen Speicherort fest codieren, denke ich nicht, dass dies ein Problem darstellt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top