背景
公司工作需要写DOS批处理代码,扩展思考了下如何查找文件,花了我很大精力才写出此脚本,因而记录下。
代码
::关闭命令回显
@echo off
::变量延时绑定
setlocal enabledelayedexpansion
::请求输入文件名,支持通配符
echo Please input filename:
set /p filename=
::查看所有卷信息,赋值给变量,^表示换行符
for /f "delims=^" %%i in ('fsutil fsinfo drives') do (
set juaninfo=%%i
)
::echo显示所有卷信息
echo %juaninfo%
::遍历所有卷查找文件
for %%i in (%juaninfo%) do (
echo %%i | findstr [A-Z]>nul && (set n=%%i & set target=!n!%filename% & set "target=!target: =!" & dir !target! /s /q)
)
pause
测试结果:
</