在使用matlab写代码的过程中有很多的.m文件作为函数被调用,如果是使用VS自然可以很方便地跳转到函数被调用的地方,但是查了很久发现matlab只能列出一个.m文件中调用了哪些函数,并不能查到某个.m函数文件被其他函数调用的位置,因此只好自己写一个小工具来实现。只要将函数名作为需要搜索的字符串就可以很快查到函数在哪个.m文件中被调用,方便快捷,后来结合了office转txt的功能,实现了扩展到进入文档进行搜索。采用批处理和vbscript脚本最大的好处就是不需要配置环境,可以直接使用。下面对脚本进行大概的解释。
首先给出批处理文件FindString_byLSS.bat的代码:
rem :::: 2017-05-17 by LSS
@echo off&setlocal enabledelayedexpansion
title String search tool by LSS
mode con cols=150
call:main 【ReplaceByYourStringToSearch将该文本替换为需要搜索的字符串】
:main
echo Target: %1
echo Searching for target, please wait......
echo.
echo.
set /a OFFICE = 1
if not exist "office2txt.vbs" (
echo [?] Warning: Skip all office files while searching because file 【office2txt.vbs】 not found in current path
echo.
echo.
set /a OFFICE = 0
)
set /a count = 0
for /r %%a in (*) do (
set /a IsOfficeFile = 0
if "%%~xa" == ".doc" set /a IsOfficeFile = !OFFICE!
if "%%~xa" == ".DOC" set /a IsOfficeFile = !OFFICE!
if "%%~xa" == ".docx" set /a IsOfficeFile = !OFFICE!
if "%%~xa" == ".DOCX" set /a IsOfficeFile = !OFFICE!
if "%%~xa" == ".xls" set /a IsOfficeFile = !OFFICE!
if "%%~xa" == "