Windows批处理文件 - 多个选择

时间:2016-12-23 20:50:45

标签: windows batch-file

我对批处理文件有疑问。 我有一个批处理脚本,它在目录的“右键单击”上运行。

但如果我选择了MULTIPLE目录,则脚本会逐个执行每个选择。 是否有可能以脚本为所有选择ONCE执行的方式集成它? 或者我可能会在批处理脚本中获得所有选择的列表? (也许是注册表的变化?)

由于 Saad的

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。将脚本的快捷方式粘贴到https://www.cheaptickets.com/events/tickets/firefly-music-festival-4-day-pass-2867495。然后:

  • "右击"单个项目或多个选择;
  • 导航至"发送至"子菜单;
  • 点击您的脚本快捷方式。

不幸的是,所描述的方法不仅适用于目录(文件夹):它也接受文件名。您需要在脚本中添加一些关于提供的名称的有效性的测试。

以下是用于测试的脚本(它分别区分file / folder / unknown):

@echo OFF
SETLOCAL enableextensions disabledelayedexpansion
echo(
echo before any shift
echo "%~nx0" [%~1] [%~2] [%~3] [%~4]
echo   all %%* = %*
echo(
set /A "ii=0"
:loopfor
  if "%~1"=="" goto :loopend
  set /A "ii+=1"
  If exist "%~1\*" (
      echo folder  %%%ii% = %1  
  ) else (
      If exist "%~1" (
          echo   file  %%%ii% = %1
      ) else (
          echo unknown %%%ii% = %1
      )
  )
  SHIFT
  goto :loopfor
:loopend
  SHIFT
echo(
echo after all shifts: %ii% parameter^(s^)
echo "%~0" [%~1] [%~2] [%~3] [%~4]
echo   all %%* = %*
ENDLOCAL
pause>NUL
goto :eof