Command-Queuer.cmd
------------------
@ECHO OFF
SETLOCAL
:: SETUP PARAMETERS: Control temp file location and delay before running
SET QueueFile="%TEMP%\Multi-Item-Queue.txt"
SET /A Secs=5
:: MAIN PROGRAM: If the first instance create the queue and wait, otherwise transfer to queue and exit
IF EXIST %QueueFile% ( ECHO %* >> %QueueFile% ) ELSE (
ECHO %* > %QueueFile%
ECHO Waiting %Secs% seconds for other files to finish queuing then will activate...
TIMEOUT /T %Secs% /NOBREAK >nul
REM - ADD YOUR CODE HERE TO PROCESS THE QUEUE FILE AS A WHOLE
REM - Example: Display popup of all file paths selected: Msg %username% <%QueueFile%
REM - ALTERNATIVELY, ITERATE THROUGH EACH LINE OF THE FILE
REM - Example: FOR /F "tokens=*" %%Z in (%QueueFile%) DO ( COPY %%Z "C:\Backup" )
:: Delete the queue file when finished
DEL %QueueFile%
)
GOTO:EOF
3条答案
按热度按时间cgh8pdjw1#
你可以使用Send To来实现。它支持多个文件。
如果这个网站离线:
用
Windows + R
打开shell:sendto
或将其粘贴到您的资源管理器地址栏中。它应该将您重定向到:C:\Users\<yourusername>\AppData\Roaming\Microsoft\Windows\SendTo
在此文件夹中创建程序的快捷方式,您应该在资源管理器右键单击菜单中的
Send to
中看到它nkhmeac62#
你可能想看看这篇文章,因为它说这是不可能的,传递多个文件到单个示例,你必须依赖某种形式的IPC(进程间通信)。
fd3cxomn3#
用途:Command-Queuer.cmd
我也想做同样的事情,最后创建了一个'wrapper' .cmd/bat文件来为我排队命令。我使用临时队列文件来:(a)自指定控制示例来运行该进程,以及(B)向其他示例发信号通知不要直接运行命令,而是只是将它们的文件/参数添加到队列并退出。脚本等待X秒,等待其他示例将其信息排队,然后顺序处理所选文件。
注意:您将看到一个空cmd窗口出现一瞬间,为每个选定的文件,即如果您选择30个文件,然后30 cmd窗口将短暂出现,但这些可以隐藏,如果需要请检查:Run a batch file in a completely hidden way (superuser.com)