我想知道是否有人可以提供帮助。我编写了一个Java程序,该程序在USB闪存驱动器上加载.cvs。该程序可能可以在几个不同的Windows笔记本电脑上使用,但是该程序使用固定的文件Locataion IE:F驱动器。

我想知道,当将闪存驱动器插入字母分配中时,是否有办法将其固定在驱动器:t之类的东西上,以便无论将驱动器插入哪个端口或计算机,Java程序都可以自动读取驱动器。我想在USB上的批处理文件中执行此操作,以便用户不必手动设置计算机来更改闪存驱动器。由于某些程序用户非常旧,而且即使提供了逐步说明,也不可能做到这一点。

我以前从未写过批处理文件,所以任何帮助都会很棒

亲切的问候

有帮助吗?

解决方案 2

此批次将搜索包含“键”文件或文件夹的驱动器,然后替换驱动器#:(是的,这是一个有效的驱动器字母,并且很少见,以至于不与任何东西相撞)到正确的驱动器。只需使用驱动器#:在您的程序中。如果批处理文件在完成工作时已退出,则错误级别为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)

其他提示

您可以使用 subst 去做这个:

subst T: %~d0\

只要您知道t:不使用。由于您正在为位置进行硬编码Java程序,因此我认为这不是问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top