0

我有一个脚本,它一直在修改特定文件。

findstr /s /m "BLABLABLA" C:\BLABLABLA\*.BLA > bla.bla
if %errorlevel%=="0" (
    BLABLABLA
)

我知道“Blabla”不是很透明......

如何制作 BAT 文件。这会找到每个带有BLA扩展名的文件,它包含BLABLABLA在每个地方、每个文件夹、每个分区中。 使用批处理脚本遍历文件夹它仅在 1 个文件夹中有效。

4

3 回答 3

2

尝试这样的事情:

@echo off

setlocal

set DRIVES=C D E F G H I J K L M N O P Q R S T U V W X Y Z

(for %%d in (%DRIVES%) do (
  if exist "%%d:\" (
    pushd "%%d:\"
    for /r %%f in (*.BLA) do (
      findstr /m "BLABLABLA" "%%~f" && (
        BLABLABLA
      )
    )
    popd
  )
)) > bla.bla

一种更优雅的方法是通过 WMI 枚举本地驱动器:

@echo off

setlocal

(for /f %%d in (
  'wmic logicaldisk where drivetype^=3 get caption ^| find ":"'
) do (
  pushd "%%d\"
  for /r %%f in (*.BLA) do (
    findstr /m "BLABLABLA" "%%~f" && (
      BLABLABLA
    )
  )
  popd
)) > bla.bla
于 2013-07-13T11:20:22.107 回答
2

查找每个带有 BLA 扩展名的文件,

包含 BLABLABLA

在每个 [...]、每个文件夹、每个分区中

尝试:

 for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do findstr /lsimpc:"BLABLABLA" "%%i:\*.BLA" 2>nul

在每个地方,[...]

指定:place

于 2013-07-13T19:05:34.773 回答
1

只是猜测你在寻找类似的东西:

@echo off

for /r %%f in (*.bla) do (
    for /f %%i in ('findstr /m "BLABLABLA" "%%~f"') do (
        echo do something to "%%~f"
    )
) 

添加驱动器号解析表格 Ansgar Wiechers 帖子

于 2013-07-13T11:46:14.120 回答