Заблокировать пользователя от случайного выполнения .bat файлов - PullRequest
0 голосов
/ 29 сентября 2018

На нашем сервере большое количество bat-файлов, и они планируются с помощью планировщика задач.Иногда, вместо того, чтобы щелкнуть правой кнопкой мыши, чтобы отредактировать его, пользователи выполняют его, дважды щелкнув по нему, вызывая процессы.

  1. Могу ли я изменить свойства двойного щелчка только для пакетных файлов?Как и тройной щелчок, чтобы выполнить, двойной щелчок, чтобы ничего не делать.
  2. Существуют ли какие-либо пакетные команды для запроса пользователя при попытке выполнить его непосредственно вместо командной строки?

Ответы [ 3 ]

0 голосов
/ 30 сентября 2018
    @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

всегда работает .bat throuth cmd /c in_con.bat

0 голосов
/ 01 октября 2018

Почему бы просто не переименовать их все в .txt, а в своем планировщике скопировать файл в файл .bat|.cmd и выполнить его.Лучший из всех миров.

0 голосов
/ 29 сентября 2018

У меня были похожие случаи, и проблема была решена, когда я добавил в начало скрипта TIMEOUT 10, пакет запускается через 10 секунд, поэтому, если кто-то случайно запустится, у него будет время закрыть окно без запуска.

Я не рекомендую его, но вы можете прервать связанное приложение для файлов .bat из реестра, изменив значение (по умолчанию) с "%1" %* на nothing ключа: HKEY_CLASSES_ROOT\batfile\shell\open\command

Я быОбязательно выберите первый вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...