Question

Je me demandais si quelqu'un pouvait aider. J'ai écrit un programme Java qui charge un .CVS sur un lecteur flash USB. Ce programme est susceptible d'être utilisé sur plusieurs ordinateurs portables Windows différents, mais le programme utilise une locataion de fichiers fixe IE: F Drive.

Je me demandais s'il y avait un moyen que lorsque le lecteur flash est branché dans l'affectation de lettre est corrigé à quelque chose comme le lecteur: T afin que quel que soit le port ou l'ordinateur, le lecteur est branché, il peut être lu automatiquement par le programme Java. Je voulais le faire dans un fichier batch sur l'USB afin que l'utilisateur n'ait pas à définir manuellement l'ordinateur pour modifier le lecteur flash. Comme certains utilisateurs du programme sont très anciens et peu susceptibles de le faire même s'ils sont fournis avec des instructions étape par étape.

Je n'ai jamais écrit de fichier batch auparavant, donc toute aide serait formidable

sincères amitiés

Était-ce utile?

La solution 2

Ce lot recherchera un lecteur contenant un fichier ou un dossier "clé" et un lecteur subs #: (oui, il s'agit d'une lettre de lecteur valide, et assez rare pour ne plus entrer en collision avec quoi que ce soit) au bon disque. Utilisez simplement Drive #: Dans votre programme. Si le fichier batch a quit

@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)

Autres conseils

Vous pouvez utiliser subst pour faire ça:

subst T: %~d0\

Tant que vous le savez: n'est pas utilisé. Étant donné que vous codez en dur votre programme Java pour un emplacement, je ne pense pas que ce soit un problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top