首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未能在多个目录上使用PUSHD/POPD

未能在多个目录上使用PUSHD/POPD
EN

Stack Overflow用户
提问于 2014-06-03 17:48:36
回答 1查看 886关注 0票数 1

我正在使用CuteFTP自动化一个文件下载彻底的VBScript。在VBScript的末尾,我将调用一个批处理文件,该文件将使用7zip的CLI展开zip文件。

批处理文件和7zip可执行文件存储在Server1 (nt950id3)上。扩张发生在Server2 (nt950a1)上。由于公司的限制,这是不能改变的。由于VBS正在工作,所以我省略了它的代码。这是批处理命令-

代码语言:javascript
复制
"\\nt950id3\c$\apps\CFI\7zip\7za.exe" e -y "\\nt950a1\filexfr$\Spectrum\File.zip" -o"\\nt950a1\filexfr$\Spectrum"

扩展是笨拙的,因为7zip将提取到批处理文件的CWD,而不是zip文件所在的目录,除非我指定了-o开关。

当我双击批处理文件或通过计划的任务运行它时,它只起作用。当VBScript调用批处理文件时,它会失败,说明不支持UNC路径--我不知道会有什么不同。PUSHDPOPD应该修复这个问题。

通过这篇关于CLI速成班的文章进行的进一步研究让我在每个目录上使用PUSHD,并将它们设置为变量-

代码语言:javascript
复制
SET UZEXE=PUSHD "\\nt950id3\c$\apps\CFI\7zip\7za.exe"
SET ZSRC=PUSHD "\\nt950a1\filexfr$\Spectrum\File.zip"
SET ZEDST=PUSHD "\\nt950a1\filexfr$\Spectrum"

在代码的底部,我使用了三次'POPD‘(在每一行末尾也尝试过),尽管设置路径上有这个非常简单的帖子,但我无法使它工作。我也尝试过在没有PUSHD的情况下-

代码语言:javascript
复制
SET UZEXE="\\nt950id3\c$\apps\CFI\7zip\7za.exe"

此操作也失败,说明不支持UNC路径。

能否请社区解释我的错误,并指出如何使用多个单独的PUSHD/POPD目录来完成运行命令的示例?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-08 16:14:27

在比尔的指导下,我只使用VBS --不调用批处理--来解决我的问题。我不知道这是如此容易的可能,并将努力做更好的研究向前推进。工作守则-在联合国大学道路上设有支架-如下:

代码语言:javascript
复制
Set wshShell = CreateObject("wscript.shell") 
wshShell.Run"""\\server1\path\7z.exe"" e -y ""\\server1\path\srcfile.zip"" -o\\server2\path\unzipdest", 0, True

首先,正在执行的代码声明它找不到文件。结果发现,这是文件路径中有空白的问题。在使用这个Google组主题学习正确放置引号之后,它现在在CuteFTP脚本中工作,没有任何错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24021761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档