我将把它分解成几个不同的部分,因为每个部分都可以单独完成。 (我看到类似的答案,但我将在这里给出更详细的解释..)
第一部分,为了避免输入“CScript”(或“WScript”),您需要告诉 Windows 如何启动 * .vbs 脚本文件。在我的 Windows 8 中(我不能确定所有这些命令在旧 Windows 中完全按照此处所示的方式工作,但过程是相同的,即使您必须稍微更改命令),启动控制台窗口(又名“命令提示符”,或 [不正确] “dos prompt”)并输入“assoc .vbs”。这应该会导致如下响应:
C:\Windows\System32>assoc .vbs
.vbs=VBSFile
使用它,然后输入“ftype VBSFile”,这将导致响应:
C:\Windows\System32>ftype VBSFile
vbsfile="%SystemRoot%\System32\WScript.exe" "%1" %*
-或-
C:\Windows\System32>ftype VBSFile
vbsfile="%SystemRoot%\System32\CScript.exe" "%1" %*
如果这两个已如上定义,则您的 Windows 已设置为知道如何启动 * .vbs 文件。 (顺便说一句,WScript 和 CScript 是同一个程序,使用不同的名称。WScript 像 GUI 程序一样启动脚本,而 CScript 像命令行程序一样启动它。有关这些详细信息,请参阅其他站点和/或文档和警告。)
如果任一命令没有如上响应(或类似响应,如果 assoc 报告的文件类型和/或 ftype 报告的执行的命令具有不同的名称或位置),您可以自己输入:
C:\Windows\System32>assoc .vbs=VBSFile
-和/或-
C:\Windows\System32>ftype vbsfile="%SystemRoot%\System32\WScript.exe" "%1" %*
您还可以键入“help assoc”或“help ftype”以获取有关这些命令的更多信息,当您希望通过以下方式自动运行某些程序时,这些信息通常很方便只需键入具有特定扩展名的文件名。 (但要小心,因为某些文件扩展名是由 Windows 或您可能已安装的程序专门设置的,因此它们可以正常运行。请始终检查 assoc/ftype 报告的当前分配的值,并将它们保存在某个文本文件中,以防万一恢复它们。)
第二部分,从控制台窗口键入命令时避免键入文件扩展名。了解 Windows(和 CMD.EXE 程序)如何找到您键入的命令对此很有用(以及下)部分。当您键入命令时,让我们使用“查询”作为示例命令,系统将首先尝试在其内部命令列表中找到该命令(通过系统本身的 Windows 注册表中的设置,或在案例中编程的 CMD.EXE)。由于没有这样的命令,它会尝试在当前的 %PATH% 环境变量中查找该命令。在旧版本的 DOS/Windows 中,CMD.EXE(和/或 COMMAND.COM)会自动将文件扩展名“.bat”、“.exe”、“.com”和可能的“.cmd”添加到您的命令名称中键入,除非您明确键入扩展名(例如“querty.bat”以避免错误运行“querty.exe”)。在更现代的 Windows 中,它将尝试 %PATHEXT% 环境变量中列出的扩展。因此,您所要做的就是将 .vbs 添加到 %PATHEXT%。例如,这是我的 %PATHEXT%:
C:\Windows\System32>set pathext
PATHEXT=.PLX;.PLW;.PL;.BAT;.CMD;.VBS;.COM;.EXE;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY
请注意,扩展名必须包含“.”,用“;”分隔,并且 .VBS 列在 .CMD 之后,但在 .COM 之前。这意味着如果命令处理器 (CMD.EXE) 找到多个匹配项,它将使用列出的第一个匹配项。也就是说,如果我有 query.cmd、querty.vbs 和 querty.com,它将使用 querty.cmd。
现在,如果您想一直这样做而不必继续设置 %PATHEXT%,则必须修改系统环境。在控制台窗口中键入它只会更改该控制台窗口会话。我将把这个过程作为练习留给读者。 :-P
第三部分,让脚本运行而无需始终输入完整路径。这部分,相对于第二部分,从 DOS 时代就已经存在。只需确保文件位于 %PATH% 环境变量中列出的目录之一(文件夹,为您的 Windows 用户!)。我的建议是创建自己的目录来存储您从控制台窗口/命令提示符经常创建或使用的各种文件和程序(即,不要担心对从开始菜单或任何其他方法运行的程序执行此操作。只有控制台窗口。除非您知道自己在做什么,否则不要弄乱由 Windows 或自动安装程序安装的程序 )。
就个人而言,我总是为批处理文件创建一个“C:\sys\bat”目录,为 * .exe 和 * .com 文件创建一个“C:\sys\bin”目录(例如,如果您下载类似“md5sum”,一个 MD5 校验和实用程序),一个“C:\sys\wsh”目录,用于 VBScript(和 JScript,命名为“wsh”,因为两者都是使用“Windows Scripting Host”或“wsh”程序执行的),以及很快。然后我将这些添加到我的系统 %PATH% 变量(控制面板 -> 高级系统设置 -> 高级选项卡 -> 环境变量按钮),这样当我键入它们时,Windows 总能找到它们。
结合所有三个部分将配置您的 Windows 系统,以便在您可以键入命令行命令的任何地方,只需键入基本文件名即可启动 VBScript。您几乎可以对任何文件类型/扩展名执行相同的操作;正如您可能在我的 %PATHEXT% 输出中看到的那样,我的系统设置为也可以运行 Perl 脚本 (.PLX;.PLW;.PL) 和 Python (.PY) 脚本。 (我还在我的%PATH%前面放了“C:\sys\bat;C:\sys\scripts;C:\sys\wsh;C:\sys\bin”,并放了各种批处理文件,脚本文件, 等等, 在这些目录中, 所以 Windows 总是可以找到它们。如果你想“覆盖”某些命令, 这也很方便: 将 * .bat 文件放在路径中使系统在 * .exe 文件之前找到它们, 例如, 然后 *.bat 文件可以通过提供实际 *.exe 文件的完整路径来启动实际程序。查看“批处理文件编程”的各个站点以获取详细信息和其他示例命令行..它还没有死!)
最后一点:请查看其他一些网站,了解各种警告和注意事项。这个问题提出了一个名为“converter.vbs”的脚本,它非常接近命令“convert.exe”,这是一个 Windows 程序,用于将硬盘从 FAT 文件系统转换为 NTFS 文件系统。可以如果您输入错误,请破坏您的硬盘!
另一方面,使用上述技术,您也可以避免此类错误。以 CONVERT.EXE 为例。将其重命名为“REAL_CONVERT.EXE”,然后创建一个类似“C:\sys\bat\convert.bat”的文件,其中包含:
@ECHO OFF
ECHO !DANGER! !DANGER! !DANGER! !DANGER, WILL ROBINSON!
ECHO This command will convert your hard drive to NTFS! DO YOU REALLY WANT TO DO THIS?!
ECHO PRESS CONTROL-C TO ABORT, otherwise..
REM "PAUSE" will pause the batch file with the message "Press any key to continue...",
REM and also allow the user to press CONTROL-C which will prompt the user to abort or
REM continue running the batch file.
PAUSE
ECHO Okay, if you're really determined to do this, type this command:
ECHO. %SystemRoot%\SYSTEM32\REAL_CONVERT.EXE
ECHO to run the real CONVERT.EXE program. Have a nice day!
您还可以在现代 Windows 中使用 CHOICE.EXE 让用户输入“y”或“n”,如果他们真的想继续,等等。再次,批处理(和脚本)文件的强大功能!
这里有一些关于如何使用所有这些功能的好资源的链接:
http://ss64.com/
http://www.computerhope.com/batch.htm
http://commandwindows.com/batch.htm
http://www.robvanderwoude.com/batchfiles.php
这些站点中的大多数都面向批处理文件,但其中的大部分信息适用于运行任何类型的批处理 (* .bat) 文件、命令 (* .cmd) 文件和脚本 (* .vbs、* .js、* .pl、* .py 等)文件。