我们的服务器中有大量的bat文件,它们是使用任务计划程序计划的。有时,用户无需右键单击对其进行编辑,而是通过双击它来执行它们,从而触发过程。
- 我只能更改批处理文件的双击属性吗?就像双击执行一样,双击则什么也不做。
- 当用户尝试直接执行而不是使用命令行时,是否有任何批处理命令提示用户?
答案 0 :(得分:2)
我遇到了类似的情况,当我在脚本TIMEOUT 10
的开头添加批处理时,该批处理在10秒后开始,因此,如果有人不小心启动了该批处理,将有时间关闭窗口而不运行。 / p>
我不建议这样做,但是您可以将注册表中的.bat文件的相关应用程序从注册表的"%1" %*
更改为nothing
,将(默认)值从HKEY_CLASSES_ROOT\batfile\shell\open\command
更改为services.AddScoped<AdminBuilder>()
>
我肯定会选择第一个选项。
答案 1 :(得分:0)
@echo off &::in_con.bat filename and args
setlocal
set "_is.c=0"
for /f "tokens=*" %%# in ("%ComSpec%") do for /f "tokens=1-2 delims= " %%c in ('echo %CmdCmdLine%') do if /i "%%~nc"=="%%~n#" if /i "%%~d"=="/c" set "_is.c=1"
rem if running by click open in notepad
if "%_is.c%"=="1" if exist "%~1" notepad "%~1"
rem if running in console pass it throuth
endlocal & if "%_is.c%"=="0" cmd /c %*
goto :eof
始终通过cmd /c in_con.bat
运行.bat
答案 2 :(得分:0)
为什么不将它们全部重命名为.txt
并在调度程序中将文件复制到.bat|.cmd
文件并执行。世界上最好的。