2014-03-25 196 views
0

我正在尝试写一个批处理文件的一部分,该文件将询问用户的文件名,然后搜索该文件。我已经查看了很多年,但是我找不到任何从用户输入中完成搜索的示例。从用户输入搜索文件

如果用户输入存储在使用set /p myVar = (users input)一个变量是不是就有可能做一个命令,如:dir %myVar%

如果没有,那么什么是基于用户输入的搜索正确的方式?

+0

当然,这是可能的。找到该文件后,你想怎么做? – aphoria

+0

找到文件后,我只是想将它复制到另一个位置,可能更多,但只是基本的文件复制,删除编辑等。 – Phill

+0

@Phill使用'dir *%myvar%*'或更有用'%% f (*%myvar%*)do(echo %% f)'为每个找到的文件做一些事情。 – TessellatingHeckler

回答

1

批处理文件中搜索驱动器,子文件夹,做一些对每个文件找到,并有如果没有被发现告诉的方法:

(编辑:错过了A/S出)

@echo off 

set /P MyVar="Search for:" 
for /f "usebackq delims=" %%f in (`dir /b /s c:\*%MyVar%*`) do (
    set _foundstuff=yes 
    echo copy "%%f" "c:\somewhere\" 
) 

if "%_foundstuff%"=="yes" goto fin 

rem nothing found code goes here 
echo "nothing found" 

:fin