File 如何设置批处理文件以查找文件并显示其位置?
我需要一个基本的程序。到目前为止,我能做的是跟踪预定义文件是否存在,但仅此而已。 我正在尝试这样做:File 如何设置批处理文件以查找文件并显示其位置?,file,batch-file,path,File,Batch File,Path,我需要一个基本的程序。到目前为止,我能做的是跟踪预定义文件是否存在,但仅此而已。 我正在尝试这样做: 选择一个文件 看看它是否存在 找到通往它的路 将路径保存在变量下,或类似的内容 向用户显示路径 (执行文件,可选) 有没有办法,剧本是什么? 如果我不清楚,请告诉我。 提前感谢不清楚,您到目前为止尝试了什么?@endro我不知道初学者区域之外的任何代码,还没有尝试过任何东西,您能告诉我如何在变量或类似的东西下保存路径吗?аааГааааааааааааа!Благодаря!有点像我想要的,但这
提前感谢不清楚,您到目前为止尝试了什么?@endro我不知道初学者区域之外的任何代码,还没有尝试过任何东西,您能告诉我如何在变量或类似的东西下保存路径吗?аааГааааааааааааа!Благодаря!有点像我想要的,但这只在批处理文件所在的文件夹中起作用,我如何使它在整个C:驱动器上工作?你想在C:\中的每个目录中递归执行该文件,或者你想有一个选择目录的选项?如果是第二个-我在回答中做了一些编辑…我更喜欢第一个,因为每当我找不到文件时,它就会告诉我文件在哪里
@echo off
setLocal
set /p file=choose a file:
set /p option=do you want to execute the file?[y/n]
if "%option%" equ "y" set /p directory=directory where you want to execute the file:
if "%option%" equ "Y" set /p directory=directory where you want to execute the file:
if not exist "%directory%\" echo directory does not exist %% exit /b 3
if not exist %file% echo file does not exists && exit /b 1
for %%F in (%file%) do (
set file_atr=%%F
set full_path=%%~fF
)
if "%file_atr::~0,1%" equ "d" echo this is a directory && exit /b 2
echo the full path is : %full_path%
if "%option%" equ "y" (
pushd %directory%
call %full_path%
popd
)
if "%option%" equ "Y" (
pushd %directory%
call %full_path%
popd
)
endLocal