双击时Windows批处理文件未完全运行

时间:2018-02-19 13:21:07

标签: batch-file pipe

我看到这个问题不时被问到,但没有给出任何解决问题的答案。

以下批次重现问题

@echo off
sleep 2
dir /s /b > FileList.txt

从命令行运行批处理时,它按预期运行。它休眠2秒,然后创建文件 FileList.txt

但是当双击文件浏览器时,似乎只执行sleep命令。 FileList.txt 未创建。 Dir命令正在执行,但未创建该文件。

我试过通过运行管理员权限来帮助。

cmd /c assoc .bat

给出

.bat=batfile

注册表已经过检查,发现没问题。所以... 有没有办法通过单击它们来处理文件操作来运行批处理文件?因为这就是我认为的问题,即从文件浏览器中运行的批处理脚本引发的某些事情阻止了文件操作的发生。

1 个答案:

答案 0 :(得分:1)

通过从资源管理器双击启动批处理时,工作目录与批处理文件本身不同。

您可以使用绝对路径

来解决此问题
<a class="btn btn-light lamb-button" *ngIf="!flag" (click)="onBack()">
    <span class="fa fa-undo lamb-icon" ></span>
  </a>

或将工作目录更改为批处理位置。

@echo off
sleep 2
dir /s /b > c:\temp\FileList.txt