Domanda

Mi chiedevo se qualcuno potesse aiutare. Ho scritto un programma Java che carica un .cvs su un'unità flash USB. È probabile che questo programma venga utilizzato su diversi laptop Windows, ma il programma utilizza un file locataion fisso IE: F Drive.

Mi chiedevo se c'era il modo in cui l'unità flash è collegata all'assegnazione delle lettere è fissata a qualcosa come l'unità: t in modo che non importa quale porta o computer sia collegata in esso possa essere letto automaticamente dal programma Java. Volevo farlo in un file batch su USB in modo che l'utente non debba impostare manualmente il computer per modificare l'unità flash. Poiché alcuni degli utenti del programma sono molto vecchi e improbabili saranno in grado di farlo anche se dotati di istruzioni passo passo.

Non ho mai scritto un file batch prima, quindi qualsiasi aiuto sarebbe fantastico

Cordiali saluti

È stato utile?

Soluzione 2

Questo batch cercherà un'unità contenente un file o una cartella "chiave" e #SPOST DRIVE: (Sì, questa è una lettera di unità valida e abbastanza rara da non scontrarsi con nulla) all'unità corretta. Basta usare l'unità #: nel tuo programma. Se il file batch è uscito dal suo lavoro, ErrorLevel sarà 0, altrimenti ErrorLevel sarà 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)

Altri suggerimenti

Puoi usare subst per farlo:

subst T: %~d0\

Finché conosci T: non è in uso. Dato che stai codificando il tuo programma Java per un luogo, non penso che sia un problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top