我的
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