batch-file - 批处理文件调用 VB 脚本并将文件名仅作为字符串传递
问题描述
我有一个调用 VB 脚本文件的批处理文件。此 VB 脚本来自 MS Office 套件,位于已安装文件夹中。我的文件调用 VB 脚本并使用>
符号将其通过管道传输到文件。如果您的重定向是字符串,则此方法有效。我想知道如何使用变量重定向到文件。
我只包含一小部分代码,显示我希望它如何工作。
正如所写的那样,这是有效的。但是我希望我的批处理文件使用变量而不是引号中的文本。事实上,我的批处理文件根据批处理文件所在的位置创建路径。
::Create file and display on screen
Echo Writing Information to File: "OfficeStatus.txt"
Call cscript ospp.vbs /dstatus > OfficeStatus.txt
Echo.
如下图这样写,就不行了:
::Create file and display on screen
Echo Writing Information to File: "OfficeStatus.txt"
Call cscript ospp.vbs /dstatus > %_sLogFile%
Echo.
我不知道问题是否是因为重定向无法处理变量。变量中可能包含的示例:
_sLogFile=E:\UserName\Documents\Status\OfficeStatus.txt.
任何想法都会很棒。顺便说一句,该变量正确包含路径和文件名......所以这不是问题。
解决方案
it does not work
手段did not do what I expected
,不幸的是没有告诉我们它做了什么。
是不是系统崩溃了?创建错误消息(如果是,是什么消息)?在意想不到的地方创建输出文件??
就个人而言,我怀疑你隐瞒了什么username
。在不确切知道该文本是什么的情况下,我们开始猜测,这不是一种合乎逻辑的方法。它不必是真实的用户名,Fred Bloggs
如果需要,可以用真实的名字来掩盖它。
我相信这username
可能是%username%
从系统中检索名称,或者是真正的文字。这样做的问题是此类名称通常包含空格,您需要"Enclose the full filename in quotes"
.
看 - 如果你告诉我们_sLogFile=E:\Fred Bloggs\Documents\Status\OfficeStatus.txt
这一切都会更清楚 - 假设我对问题原因的猜测是正确的。
也许您应该查找名为 like 的文件,这可能E:\Fred
是预期输出的结束位置。
推荐阅读
- ruby-on-rails - Rspec:如何在失败的示例中访问当前种子编号
- excel - 如果单元格包含数据,则将数据向下偏移
- nativescript - 是否可以在 nativescript 中为进度元素添加最小限制
- javascript - 将 NODE_ENV 传递给 Windows 10 的 npm 脚本
- swift - 为我们的 Swift 包运行 SwiftLint 的简单方法
- c++ - 如何将 CSV 文件集成到 OMNeT++ 最新版本中?
- ios - 带有故事板 segues 的上下文菜单预览提供程序
- reactjs - 如何将 iFrame 导出为 PDF
- spring-boot - 在 Spring Boot 中发送有关错误发生的电子邮件
- r - tools::toTitleCase vs stringr::str_to_title:出了什么问题?