2013-11-07 1 views
0

Мне было интересно, может ли кто-нибудь помочь. Я написал программу java, которая загружает .cvs на флэш-накопитель USB. Эта программа, вероятно, будет использоваться на нескольких разных ноутбуках Windows, но программа использует фиксированный файл location i.e: F drive.Назначение буквенного ввода флэш-памяти USB

Мне было интересно, был ли способ, когда при подключении флеш-накопителя к назначению Letter привязано к чему-то вроде диска: T, так что независимо от того, какой порт или компьютер, подключенный к нему, может автоматически считываться java-программы. Я хотел сделать это в пакетном файле на USB-диске, чтобы пользователю не пришлось вручную устанавливать компьютер для изменения флеш-накопителя. Поскольку некоторые из пользователей программы очень старые и вряд ли смогут это сделать, даже если они предоставляются пошаговыми инструкциями.

Я никогда не писал пакетный файл, прежде чем так что любая помощь будет большой

вид касается

+0

[это?] (Http://ss64.org/viewtopic.php?id=410) – npocmaka

+0

вид но похоже, что он просто ищет первую бесплатную букву диска, чтобы назначить диск, я хочу всегда назначать этот USB-диск фиксированной букве диска, а не следующую доступную букву – user2965258

ответ

0

Эта партия будет искать диск, содержащий файл или папку ключа, и подстановочный диск #: (да, это допустимая буква диска и достаточно редко, чтобы не столкнуться ни с чем) с правильным диском. Просто используйте диск #: в вашей программе. Если пакетный файл имеет выход в делать свою работу, код ошибки будет 0, в противном случае код ошибки будет 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) 
1

Вы можете использовать subst, чтобы сделать это:

subst T: %~d0\ 

до тех пор, как вы знаете, T: не используется. Поскольку вы жестко кодируете свою Java-программу для местоположения, я не думаю, что это проблема.

Смежные вопросы