问题标签 [subst]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
602 浏览

c++ - 您如何检索已安装路径的原始位置?

在 C++ 中,如何检索已安装驱动器的位置?例如,如果我已将驱动器 s: 安装到 c:\temp(在命令行中使用 subst)“subst c:\temp s:”,我如何通过传递“s:”来获取“c:\temp”

我还想知道如何为网络驱动器完成它。(如果 s: 挂载到“\MyComputer\Hello”,那么我想检索“\MyComputer\Hello”,然后从中检索“c:\Hello”)

这可能是一个非常简单的问题,但我找不到有关它的信息。

谢谢,

亚当

0 投票
2 回答
5612 浏览

winapi - 将 Windows 驱动器号解析为路径(subst 和 network)

我想知道是否有一种通用方法可以使用驱动器号(例如X:\foo\bar.txt)将路径解析为其等效的 UNC 路径,这可能是以下之一:

  • X:\foo\bar.txt如果X:是真正的驱动器(即硬盘、U 盘等)
  • \\server\share\foo\bar.txt是否X:安装了网络驱动器\\server\share
  • C:\xyz\foo\bar.txtifX:SUBST命令映射X:到的结果C:\xyz

我知道有部分解决方案可以:

  1. 解析网络驱动器(参见例如问题 556649,它依赖于WNetGetUniversalName

  2. 解析SUBST驱动器号(查看QueryDosDevice哪个按预期工作,但不返回本地驱动器或网络驱动器等事物的 UNC 路径)。

我是否错过了在 Win32 中实现此驱动器号解析的一些直接方法?还是我真的必须把两者都搞砸WNetGetUniversalName才能QueryDosDevice得到我需要的东西?

0 投票
0 回答
648 浏览

visual-studio - TFS、subst、Visual Studio 2010、相对路径

我的 TFS 工作区位于C:\Users\...\MyProject,我已X:\使用 Windows subst 命令映射到该工作区。在我的 Visual Studio 2010 解决方案中,这适用于大多数项目。C:\Users\...无论我做什么,其中只有 2 个总是与路径相连(绝对!) 。

我试过了:

  1. 显然,删除并重新添加它们。
  2. 在我的工作区设置中删除这两个项目的显式绝对映射。一旦我添加项目,它就会重新创建。
  3. 使用记事本在解决方案文件中手动调整。使源代码控制绑定无效,并且 2. 的显式绑定在我重新绑定它们时重新创建。

一些帮助会很酷。我被困了几个小时只处理源代码控制......

干杯马蒂亚斯

PS 有些人可能会奇怪我为什么要这样做subst:由于项目目录名称很长,经常超过 260 个字符,这使得 VS/.NET 环境中的许多功能停止工作。

0 投票
2 回答
9759 浏览

windows - Windows 服务无法启动,出现一般错误

我使用 VS2010 编写了一个简单的 NT 服务,它使用 InstallUtil 可以很好地安装在我的 XPSP3 开发盒上。但是,当我运行时,net start TestService出现一般错误:
The TestService service failed to start due to the following error: The system cannot find the path specified.

同样的错误也会写入事件系统日志,遗憾的是没有更多关于哪个指定路径net start不喜欢的详细信息。所以我运行了 Filemon,但没有运气,没有任何输出可以说明我失败的服务。

该服务在本地服务帐户下运行。

调试此问题的任何提示?

编辑:感谢所有人的提示。DLL 很好,catch 块没有启动,我有 try/catch 块InitializeComponentOnStart方法。下面提到的检查路径的语句是提示。我犯了一个明显的错误,我InstallUtil从一个 SUBST 驱动器上运行了我的二进制文件,由于某种原因它报告了成功。InstallUtil从本地路径运行解决了我的问题,服务现在可以正确启动。

0 投票
1 回答
38744 浏览

windows - 在 VBScript 中获取命令行输出(不写入文件)

我正在使用 VBScript,我的目标是能够用驱动器号替换我选择的路径。我需要 D 盘,如果它不可用,我需要检查它是否已经映射到正确的位置;如果不是,则通知用户。我发现了这个:http ://technet.microsoft.com/en-us/library/ee156605.aspx我正在尝试调整他们的第二个例子:

(我的改编):

然后我可能会搜索告诉 D 驱动器映射位置的字符串。我也试过了objShell.Exec("subst"),但我仍然没有得到任何输出。有人对我可能做错的事情有任何想法吗?还是有更好的方法来讲述驱动器映射?谢谢,

213897

0 投票
2 回答
3639 浏览

windows - cmd - 是否可以临时将可用驱动器号分配给本地路径?

在 Windows 上使用 cmd,很容易通过 pushd 将驱动器号分配给 UNC 路径:

但是,我希望能够对本地路径执行相同的操作,因为它会缩短文件路径,并且我必须使用不支持具有很长路径的文件的命令。

这个想法如下G:,脚本中没有硬编码,因为它可以在另一台机器上使用。

我试过pushd \\?\%CD%了,可惜没用……</p>

有没有人有这个魔术?

谢谢

0 投票
2 回答
2635 浏览

python - 如何在 Python 中复制 Window 的 subst 命令?

我正在尝试在我的 Windows 设置上映射一个虚拟驱动器,我正在使用的工具之一不喜欢文件名中的空格。

在命令行上,我会执行以下操作

我试图在 Python 中复制该功能,但没有成功。我开始使用直接os.execl()执行subst命令,但是报了无效参数错误。

SO上的一些其他解决方案建议直接使用Win32API。

顺便说一句,我在 Windows 上使用 Python 2.7.3。

0 投票
2 回答
920 浏览

batch-file - 这个“subst”调用有什么作用?

我想知道这个命令在批处理脚本中的作用:

0 投票
1 回答
5414 浏览

php - 如何静默取消映射映射的网络驱动器

我有一个本地运行的 PHP 脚本,我在其中执行此操作

但如果 T: 已经映射或替换到某个其他位置,我想先取消映射它。所以我这样做

但是当 T: 未映射时, exec net use 将向控制台打印错误,而当它映射但未映射时, exec subst 将向控制台打印错误。我想在控制台窗口中有干净的输出,所以当我尝试取消映射未映射的驱动器时不会出错。问题是我完全不知道该怎么做。我可以禁止打印错误消息吗?如果没有,仅当驱动器已映射时如何运行命令?那么,巧合的是,我怎么知道我应该使用 net use /d 还是 subst /d?

0 投票
1 回答
104 浏览

windows - 使用Rundll32复制SUBST的功能

我一直在尝试使用 rundll32 复制函数 subst.exe(用于映射驱动器的 Windows 应用程序)。

我知道它DefineDOSDevice被使用了,我知道要传递什么参数,但我就是无法让它工作。

可以说我希望 C:\Program Files 映射为 Z:

我尝试以我认为正确的形式传递所有参数,但没有成功。

如果有人可以为我提供将程序文件映射到 Z 的工作语法:使用 rundll32 我会非常高兴。

提前致谢。