@echo off 没有抑制批处理文件:my.bat 不断将其所有内容打印到终端,直到 for 循环结束

问题描述 投票:0回答:0

我的

ffind.bat
是一个简单的脚本,通过简单的方法在整个电脑分区中搜索文件/目录:搜索命令
dir "\*%toFind%*" /s
,使用for循环为每个分区运行一次。

  • 问题:虽然我使用

    @echo off
    来抑制命令而不是它们的o/p,但批处理不断将其内容打印到终端,仅用看似最后一次迭代的值替换变量。并不断重新打印几次!

  • 注意:此命令以前可以使用,但作为 cmder 别名,即(doskey

    )并且仅在一个驱动器内搜索驱动器现在在终端中,例如(c:)
    
    别名:ffind=dir "\*$**" /s
    
    

  • ffind.bat

    脚本:

@echo off setlocal set oldpath=%cd% set /p toFind=search: @for /L %%a in (65,1,90) do ( chr %%a > tmpFileChrBat.txt set /p crntDrive= < tmpFileChrBat.txt del tmpFileChrBat.txt if exist "%crntDrive%:" ( cd /d "%crntDrive%:" dir "\*%toFind%*" /s ) ) cd /d %oldpath% endlocal
    
batch-file cmder
© www.soinside.com 2019 - 2024. All rights reserved.