Windows批处理文件"无法找到文件"尽管它在那里

时间:2014-10-15 18:11:07

标签: windows batch-file cmd

我创建了一个.bat文件来简化ngrok的启动过程。

当我在以前的系统,不同目录等上尝试此操作时,它运行正常。

现在我再次创建批处理文件以代表新目录,但它无法正常工作。

我需要启动的文件是ngrok.exe,它位于C:\Users\Liam\Desktop\ngrok目录中,ngrok.exe文件位于\ ngrok文件夹中。

我需要它:

  1. 将目录从C:\Users\Liam更改为C:\Users\Liam\Desktop\ngrok
  2. 打印并执行" ngrok -subdomain = udemy 80"
  3. 打开浏览器并指向http://udemy.ngrok.com:80
  4. 暂停
  5. 以下是我在批处理文件中写的内容:

    echo
    cd "C:\Users\Liam\Desktop\ngrok"
    
    print "ngrok -subdomain=udemy 80"
    
    timeout /t 10   
    start http://udemy.ngrok.com:80
    
    pause
    

    当我双击执行.bat文件时,这就是CMD中显示的内容

      

    C:\ Users \ Liam \ Desktop \ ngrok> echo ECHO已开启。

         

    C:\ Users \ Liam \ Desktop \ ngrok> cd" C:\ Users \ Liam \ Desktop \ ngrok"

         

    C:\ Users \ Liam \ Desktop \ ngrok> print" ngrok -subdomain = udemy 80"能'吨   找到文件ngrok -subdomain = udemy 80

         

    C:\ Users \ Liam \ Desktop \ ngrok> timeout / t 10

         

    等待7秒钟,按一个键继续......

    在此之后,它找不到该文件,但仍然会更改目录。应该注意的是,如果我在CMD中手动输入这些命令,它可以很好地工作。

1 个答案:

答案 0 :(得分:2)

您无需将字符串打印到命令行即可执行。只需指定程序名称和参数即可。

我将echo更改为@echo off以防止每个命令在执行之前显示...我假设这就是你想要的。

@echo off
cd "C:\Users\Liam\Desktop\ngrok"

ngrok -subdomain=udemy 80

timeout /t 10   
start http://udemy.ngrok.com:80

pause