【问题标题】:How to copy a location to a batch file from a file that is dragged and dropped to open the batch file如何将位置从拖放以打开批处理文件的文件复制到批处理文件
【发布时间】:2013-04-22 13:25:53
【问题描述】:

所以我一直在尝试为一个名为 DiscEX 的软件创建一个批处理文件,该软件需要从 cmd.exe windows xp 或更高版本的命令行使用它的启动方式是这样的discex (any arguments needed) location of iso file。 现在我可以让软件使用批处理文件运行,但我似乎无法弄清楚如何复制被拖到文件的目标位置以打开批处理文件 这是记事本中的批处理文件的样子。

@echo off
echo Welcome to AutoDiscEx
pause
C:\windows\system32\discex 
pause

我还需要能够在便携式硬盘的工作目录中启动。

【问题讨论】:

    标签: windows file batch-file


    【解决方案1】:

    你需要做的就是

    C:\windows\system32\discex "%1"
    

    获取传递给批处理的文件路径参数

    如果批处理文件已经在工作目录中,则放入

    cd /d %~dp0 in the batch after @echo off
    

    如果要确定外接U盘是什么驱动器,请使用

     @echo off
     setlocal   
     set wmi='wmic logicaldisk where "volumeserialnumber='32A78F3B'" get caption'
     for /f "skip=1 delims=" %%A in (%wmi%) do (
        for /f "tokens=1 delims=:" %%B in ("%%A") do (set drive=%%B)
     )
     echo %drive%
    

    其中 volumeserialnumber 是 vol [USB 驱动器的驱动器号:] 的输出,去掉了 -。

    【讨论】:

    • 实际上是“C:\windows\system32\discex %1”,感谢您提供当前工作目录行,它非常有帮助
    【解决方案2】:

    当您在批处理文件上拖动文件时,完整的文件路径在批处理文件的第一个参数 (%1) 中可用。如果您需要将此参数作为 discex 应用程序的第一个参数提供给它,您可以这样做:

    @echo off
    echo Welcome to AutoDiscEx
    pause
    
    C:\windows\system32\discex %1
    pause
    

    【讨论】:

      猜你喜欢
      • 2010-11-19
      • 2011-07-08
      • 2022-09-23
      • 1970-01-01
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      • 2017-12-10
      • 1970-01-01
      相关资源
      最近更新 更多