【问题标题】:Batch File to find and copy a file to a destination other than the current Directory用于查找文件并将文件复制到当前目录以外的目标的批处理文件
【发布时间】:2012-08-12 07:13:50
【问题描述】:

我完成了一个 Java 程序,现在我正在创建一个批处理文件来设置它。我对批处理文件和 CMD 命令一无所知,这就是我问这个问题的原因:)。

这是我已经拥有的:

@echo off
C:
md \Calc
D:
cd Calculator
move D:\Calculator\Calc.jar C:\Calc\

但是这需要用户将文件夹“calculator”放到D:\中,会很不方便,有没有办法解决这个问题?

【问题讨论】:

  • 您好 - 您知道您可以将其设置为用户只需双击 .jar 文件(或 .jar 文件的快捷方式)即可调用您的应用程序吗?我认为有很多比 .bat 文件更好的方法。恕我直言...我建议“什么都不做”(只给他们.jar)。以下是其他选择:Create Windows installer for Java
  • 感谢 Paul 的回复,但是我尝试双击 .jar 并没有任何反应。我只是一个初学者程序员,所以它现在只是一个命令行应用程序,也许你可以告诉我如何按照你说的方式设置它?

标签: batch-file copy cmd move


【解决方案1】:

您可以使用PUSHD C: 更改目录,然后POPD 会将您返回到之前的当前目录。

【讨论】:

  • 感谢尼尔,这对您有很大帮助:)。另外,有没有办法让 cmd 找到一个文件,然后移动到那个目录?
  • 您可以使用FOR /R 查找文件,并在受控语句中使用%~dp 前缀从变量中提取驱动器和路径。
【解决方案2】:

搜索文件,并将其复制到指定位置:

for /f "tokens=*" %%a in ('dir /b/s d:\calc.jar') do copy "%%a" c:\calc\

这有一个问题,它会将找到的每个calc.jar 复制到该位置(覆盖旧的)。

查看dir /b/s d:\calc.jar 的输出,看看它会找到哪些文件

【讨论】:

    【解决方案3】:

    要通过双击运行 .jar 文件,请在 Windows 中设置文件关联:

    http://windowstipoftheday.blogspot.com/2005/10/setting-jar-file-association.html

    Open the Windows Explorer, from the Tools select 'Folder Options...'
    Click the File Types tab, scroll down and select JAR File type.
    Press the Advanced button.
    In the Edit File Type dialog box, select open in Actions box and click Edit...
    Press the Browse button and navigate to the location the Java interpreter javaw.exe.
    In the Application used to perform action field, needs to display something similar to C:\Program Files\Java\j2re1.4.2_04\bin\javaw.exe"
    

    -jar "%1" % (注意:以 'javaw' 开头的部分必须完全一样;路径名的其他部分可能会有所不同,具体取决于哪个 您正在使用的 Java 版本),然后按 OK 按钮,直到所有 对话框已关闭。

    【讨论】:

    • 感谢您的回复,但是我希望这个应用程序是可分发的,这样人们就不必设置文件关联,只需点击一个.exe,但是我正在做的方式它要求用户将文件放在 D:\ 然后运行 ​​setup.bat 然后运行 ​​Calc.bat。然后它运行应用程序。
    猜你喜欢
    • 2013-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 2023-03-22
    • 2014-07-09
    • 1970-01-01
    • 2010-09-10
    相关资源
    最近更新 更多