当用户右键单击文件类型时,我已经可以运行批处理文件。如何才能使每个突出显示的组仅运行一个实例并获取所有文件作为参数。
目前,当用户“shift 点击”时,它为每个文件运行单个实例
很可能有更好的方式来表达这个......你可以明白为什么我在谷歌上搜索它时遇到困难。
thanks
通常,文件关联多选调用将启动程序的多个实例,并且程序本身必须自行处理它(或者借助 DDE 或删除目标)
在批处理文件中实现这一点将非常困难,这个示例应该可以帮助您入门:
@echo off
setlocal ENABLEEXTENSIONS
set guid=e786496d-1b2e-4a49-87b7-eb325c8cc64d
set id=%RANDOM%
FOR /F "tokens=1,2,3 delims=.,:/\ " %%A IN ("%TIME%") DO SET id=%id%%%A%%B%%C
set sizeprev=0
>>"%temp%\%guid%.lock" echo %id%
>>"%temp%\%guid%.list" echo %~1
:waitmore
>nul ping -n 3 localhost
FOR %%A IN (%temp%\%guid%.list) DO set sizenow=%%~zA
if not "%sizeprev%"=="%sizenow%" (
set sizeprev=%sizenow%
goto waitmore
)
FOR /F %%A IN (%temp%\%guid%.lock) DO (
if not "%%A"=="%id%" goto :EOF
FOR /F "tokens=*" %%B IN (%temp%\%guid%.list) DO (
echo.FILE=%%B
)
del "%temp%\%guid%.list"
del "%temp%\%guid%.lock"
pause
)
虽然这有效,但这是一个可怕的黑客行为,如果您不等待第一组文件被解析后再对另一组文件开始新操作,将会严重失败。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)