![根据用户的选择在基于命令提示符的搜索中启用递归遍历模式](https://linux22.com/image/1532468/%E6%A0%B9%E6%8D%AE%E7%94%A8%E6%88%B7%E7%9A%84%E9%80%89%E6%8B%A9%E5%9C%A8%E5%9F%BA%E4%BA%8E%E5%91%BD%E4%BB%A4%E6%8F%90%E7%A4%BA%E7%AC%A6%E7%9A%84%E6%90%9C%E7%B4%A2%E4%B8%AD%E5%90%AF%E7%94%A8%E9%80%92%E5%BD%92%E9%81%8D%E5%8E%86%E6%A8%A1%E5%BC%8F.png)
我有以下脚本来搜索特定文件类型(PHP,TXT,HTML等)的文件,它要求用户的选择:1)是否进行递归搜索?2)列出哪种类型的文件?
但由于未知的原因,即使我对递归搜索问题给出肯定的答案(“y”),它也不会递归搜索,并在当前目录搜索完成后退出。
@echo off
setlocal
set /p inSubFolders="You want to search in sub-folders too ? : "
set /p searchTerm="What type of files are you looking for ? : "
echo %searchTerm%
echo %inSubFolders%
:findInDir
if %inSubFolders%=="y" (
dir *.%searchTerm% /s /b /p | findstr /e .%searchTerm%
) else (
dir *.%searchTerm% /b /p | findstr /e .%searchTerm%
)
pause
谁能找出造成这个问题的原因?
答案1
造成这个问题的原因可能是什么?
if %inSubFolders%=="y" (
y
上面的内容与以下内容相比是不完整的"y"
它应该是:
if "%inSubFolders%"=="y" (
我怎样才能进行分页?
将输出传输至more
如下:
dir *.%searchTerm% /s /b /p | findstr /e .%searchTerm% | more
进一步阅读
- Windows CMD 命令行的 AZ 索引
- Windows CMD 命令的分类列表
- 如果- 有条件地执行命令。
- 更多的- 一次显示一屏输出。MORE 可用于运行任何可执行命令(或批处理文件)并一次暂停一屏输出。