我可以通过双击防止Windows批处理文件执行吗?

IDD*_*DQD 3 windows batch-file

是否可以以.BAT这样的方式设置Windows 文件,以便在调用时可以执行CMD,但是当有人双击文件时不会运行?

Gov*_*mar 7

环境变量%cmdcmdline%包含用于启动CMD.exe的命令行.如果通过在资源管理器或桌面上单击启动批处理文件,它将是:

C:\Path\To\cmd.exe /c ""c:\path\to\batch\file.bat" "
Run Code Online (Sandbox Code Playgroud)

批处理文件的完整路径也可以%~f0在批处理文件本身中访问,以与该变量进行比较.

  • @Squashman当然,但是当您从CMD通过手动输入`c:\ ...\cmd.exe/c""c:\ full\path\to\batch.bat""启动批处理文件时`,你知道你在做什么,而你正在反对系统而不是它 (3认同)
  • @GovindParmar,系统环境变量`%ComSpec%`应该是cmd.exe的完全限定路径,至少从Vista开始.但我想替代命令解释器可以替换该值.Windows目录(即"C:\ Windows")是`%SystemRoot%`,因此您可以使用"%SystemRoot%\ System32\cmd.exe". (3认同)