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