簡體   English   中英

Windows批處理文件-多選

[英]Windows Batch file— Multiple selection

我對批處理文件有疑問。 我有一個在目錄的“右鍵單擊”上運行的批處理腳本。

但是,如果我選擇了MULTIPLE目錄,該腳本將為每個選擇一個接一個地執行。是否有可能以一種腳本對所有選擇一次執行的方式進行集成? 還是我可以在批處理腳本中獲得所有選擇的列表? (也許注冊表更改了?)

謝謝薩德

是的,有可能。 將腳本的快捷方式粘貼到shell:sendto文件夾 然后:

  • “右鍵單擊”單個項目或多個選擇;
  • 導航到“發送到”子菜單;
  • 單擊您的腳本快捷方式。

不幸的是,所描述的方法不僅適用於目錄(文件夾):它還接受文件名。 您需要在腳本中添加一些有關所提供名稱有效性的測試。

以下是用於測試的腳本(它可以區分file / folder / unknown folder ):

@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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM