我有一个可以正常工作的现有 CMD 脚本。它从程序文件中启动一个应用程序,就像这样
"%PROGRAMFILES%\MyApp\app.exe"
Run Code Online (Sandbox Code Playgroud)
在其他人看来,Windows 7 命令处理器 (CMD.EXE) 的启动速度真的很慢吗?
我从命令行运行了这个测试(ntimer 是 Windows 服务器资源工具包中的一个计时实用程序,如果您没有安装它,您可以将其省略):
ntimer cmd /c for /l %a in (1,1,100) do @cmd /c rem
它所做的只是对新的 CMD.EXE 进行 100 次炮击。在我的 x64 Win7 基本系统上运行大约需要 2.3 秒。在 x86 Win7 虚拟机中运行它大约需要 5.6 秒。有趣的是,在使用旧的 16 位命令处理器 COMMAND.COM 的 VM 中,同样的测试耗时不到 1 秒。
为什么 CMD.EXE 这么慢?我期望性能类似于我在 VM 中使用 COMMAND.COM 看到的性能。原始机器和虚拟机之间 CMD.EXE 的速度比似乎合理,但绝对速度很慢。有没有人对此有任何想法?谢谢!
我注意到这一点是因为我正在构建软件,执行时间从旧 XP VM 中的 15 分钟变为新 Win7 VM 中的 30 分钟。构建过程使用 GNUMAKE 实用程序,并对命令处理器进行大量炮击。
PS我最初在stackoverflow.com上问过这个问题,但他们建议我去这里。
我希望将目录永久添加到%PATH%大量 Windows 机器上可用的环境中。有什么方法可以从命令行 ( cmd)执行此操作,以便我可以编写解决方案的脚本,而不必在数十台服务器上使用 GUI。
我怎样才能做到这一点?
windows command-line-interface environment-variables windows-command-prompt path
由于我的服务器上出现了一些错误,我的SMTP服务[SMTP Virtual Server #1]停止了。我想创建将定期运行以检查SMTP服务器状态的作业,如果它停止,则脚本将再次启动它。
我用过,Start-Service "SMTPSVC"但它只启动UATSERV服务而不是[SMTP Virtual Server #1]虚拟主机(请看附件)。
服务启动后如何启动虚拟服务器?
我的管理团队正在处理这个问题。我想同时使用这个临时解决方案。
任何帮助表示赞赏... :)
我想知道是否有一个 cmd 可以将现有证书从一个商店复制到另一个商店。我正在尝试将证书从用户中间证书颁发机构存储 (certutils -user -store ca fqdn-HOST-CA) 复制到机器的受信任根证书颁发机构存储 (certutils -store root fqdn-HOST-CA)。我尝试将 cmds 与 -addstore 一起使用,但没有用!!
certutil.exe -addstore root | certutil.exe -store -user ca fqdn-HOST-CA
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢
powershell windows-7 batch windows-command-prompt certificate-authority
我想列出在 Windows PowerShell 中输入的命令及其各自的时间戳。我怎样才能用Get-History命令做到这一点?
我正在与其他十个系统管理员一起工作,他们有时会忘记注销服务器(甚至锁定它们)。两天或更长时间以来,我一直试图想出一个“脚本”来检查我们管理的每台服务器是否有空闲的管理员帐户。如果它们闲置超过两天,我打算将它们注销(而不是锁定它们)。
如果我可以依靠命令“查询用户”,这将是一个完成的项目。但不幸的是,我似乎不能依赖该命令。以下是随机服务器的一些示例输出:
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
techyellow console 4 Active none 1/18/2017 10:35 AM
Run Code Online (Sandbox Code Playgroud)
TechYellow 从 2017 年 1月 19 日开始休假 - 现在已经闲置了近四天。如果我启动 VNC 会话,我可以看到 - 就像白天一样 - Windows 已登录,我可以使用 TechYellow 的帐户做任何我想做的事情;它甚至没有被锁定。然而,我的查询认为 TechYellow 是Active。我已经确认即使帐户被锁定也是如此 - 它仍然经常报告活动。这只是一个示例 - 我一直在多台服务器上测试此命令,我发现对于各种不同的管理员帐户,它提供错误结果的频率高于正确结果。
有更好的替代Query User吗?我看了高低,但我发现的一切都回到了类似的命令,这些命令都报告错误。
我只是想看看管理员是否已登录并且闲置了两天或更长时间。就是这样!过去有人征服过这个吗?
如何使用批处理脚本检查共享的网络文件夹是否存在?
示例:\\10.10.10.1\folder1\folder2\shared_folder
我正在尝试重命名大量文件,以将文件资源管理器中“修改日期”列中的日期合并到 YYYYMMDD 格式的每个文件名中。我能够使用以下步骤从内部所有文件的所需文件夹生成报告:
dir>filename.txt然后我将报告作为带分隔符的文本文件拉入 Excel 并处理内容,因此我现在在一列中有“最后修改”日期,在另一列中有文件名:
修改日期| 文档名称
1/9/2009 | ArcGIS_TT_Projections_Transformations.doc
2/18/2014 | ArcGIS_TT_Re-Projection_WMAS.docx
1/9/2009 | ArcGIS_TT_Set_Selectable_Layers.doc
1/9/2009 | ArcGIS_TT_Spatial_Join.doc
2010/4/21 | ArcGIS_TT_View_CLU_History_Layer.doc
我只成功使用了如下重命名脚本:
@echo off
setlocal enableDelayedExpansion
for %%F in ("ArcGIS_TT_Projections_Transformations*.txt") do (
set "name=%%F"
ren "!name!" "!name:ArcGIS_TT_Projections_Transformations=ArcGIS_TT_Projections_Transformations_20090109!"
)
pause
Run Code Online (Sandbox Code Playgroud)
但我试图避免对 61 个文件重复该过程。有没有人建议使用 Windows CMD 提示或一个简单的 .txt,我可以用它来更自动地将日期修改信息提取到文件名中?
谢谢你的帮助!
rename batch-file windows-command-prompt executable date-modified
我正在尝试通过使用NET USE命令将其映射为驱动器来连接到远程 WebDAV 服务器。
NET USE * <domain> /user:<username> <password>
Run Code Online (Sandbox Code Playgroud)
执行此命令会出现以下错误:
发生系统错误 1244。
由于用户尚未通过身份验证,因此未执行所请求的操作。
但是当我执行时
NET USE * <domain>
Run Code Online (Sandbox Code Playgroud)
它要求输入用户名,然后输入密码。
Enter the user name for <domain>:
Enter the password for <domain>:
Run Code Online (Sandbox Code Playgroud)
输入后,我现在可以连接到远程位置并映射驱动器。
是什么导致了这个错误?我该如何解决?
这些命令将自动执行,因此我想将凭据作为参数传递,而不是在出现提示时输入。
windows ×5
batch-file ×3
powershell ×3
batch ×2
windows-7 ×2
64-bit ×1
command ×1
executable ×1
net-use ×1
path ×1
performance ×1
rename ×1
smtp ×1
virtualhost ×1
webdav ×1