【发布时间】:2020-07-01 14:54:14
【问题描述】:
我想创建一个 .bat 文件,这样我只需单击它就可以运行:
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service
有人可以帮我看看 .bat 文件的结构吗?
【问题讨论】:
标签: windows batch-file exe
我想创建一个 .bat 文件,这样我只需单击它就可以运行:
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service
有人可以帮我看看 .bat 文件的结构吗?
【问题讨论】:
标签: windows batch-file exe
启动一个程序然后关闭命令提示符而不等待程序退出:
start /d "path" file.exe
【讨论】:
你可以使用:
start "windowTitle" fullPath/file.exe
注意:第一组引号必须在那里,但您不必在其中添加任何内容,例如:
start "" fullPath/file.exe
【讨论】:
start /d "fullpath" file.exe 指定启动目录,这样可以确保任何依赖文件,例如找到并加载一个 DLL。
这是执行记事本的非常简单的代码 在记事本中输入以下代码并保存到扩展名 .bat 示例:notepad.bat
start "c:\windows\system32" notepad.exe
(上面的代码“c:\windows\system32”是你保存.exe程序的路径,notepad.exe是你的.exe程序文件)
享受吧!
【讨论】:
只要把那一行放到bat文件里...
您甚至可以为 svcutil.exe 创建一个快捷方式,然后在“目标”窗口中添加参数。
【讨论】:
bat 文件没有结构...这是您在命令行上键入它的方式。所以只要打开你最喜欢的编辑器..复制你要运行的代码行..并将文件保存为whatever.bat或whatever.cmd
【讨论】:
只需插入一个文件并将其命名为“ServiceModelSamples.bat”或其他名称。
您可以在第一行添加“@echo off”,这样命令就不会打印到屏幕上:
@echo off
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service
【讨论】:
@echo off 作为第一行,您可以简单地在您不想被回显的行首添加@...
如果你想真正聪明,在命令行输入:
echo svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service >CreateService.cmd
然后你就有了CreateService.cmd,你可以随时运行(.cmd 只是.bat 文件的另一个扩展名)
【讨论】:
是什么阻止了你?
将此命令放在一个文本文件中,使用 .bat(或 .cmd)扩展名保存并双击它...
假设命令在您的系统上执行,我想就是这样。
【讨论】:
如here 所述,关于Start 命令,以下将使用您指定的参数启动您的应用程序:
start "svcutil" "svcutil.exe" "language:cs" "out:generatedProxy.cs" "config:app.config" "http://localhost:8000/ServiceModelSamples/service"
"svcutil",在start 命令之后,是在运行指定的应用程序时赋予 CMD 窗口的名称。这是start 命令的必需参数。
"svcutil.exe" 是您要运行的应用程序的绝对或相对路径。使用引号可以让您在路径中有空格。
指定要启动的应用程序后,以下所有参数都被解释为发送给应用程序的参数。
【讨论】:
如果您的文件夹设置为“隐藏文件扩展名”,您将文件命名为 *.bat 或 *.cmd,它仍然是一个文本文件(隐藏的 .txt 扩展名)。确保您可以正确命名文件!
【讨论】:
好吧,这里似乎很重要的一点是,默认情况下 svcutil 在命令行中不可用,您可以从 vs xommand 行快捷方式运行它,但是如果您通常创建一个批处理文件,除非您运行 vcvarsall,否则它将无济于事。脚本之前的 bat 文件。 下面是一个示例
“C:\Program Files\Microsoft Visual Studio *version*\VC\vcvarsall.bat” svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service【讨论】: