如何解决Powershell-尝试针对类似于变量名的字符串进行测试路径
|| 我工作的公司为所有管理员级别帐户加上$符号。麻烦,我知道。 我正在尝试使用test-path
来查看文件夹是否存在,如下所示:
$username = read-host \"Enter Login ID:\"
我在框中输入$adminsdb
,然后单击确定
##### Find TS Profile #####
$TSProfile_exist = test-path \"\\\\server\\tsprofiles$\\$username\"
该文件夹确实存在,但是...$TSProfile_exist
即将出现False
如何处理用户名中的“ 5”?我正在构建此应用程序,以针对环境中的用户显示快速统计信息。我们还有以#号为前缀的服务帐户。
解决方法
在PowerShell中处理特殊角色的方法是使用`(反引号)
$TSProfile_exist = test-path \"\\\\server\\tsprofiles$\\$username\"
变成
$TSProfile_exist = test-path \"\\\\server\\tsprofiles`$\\$username\"
注意with8的技巧,它的语义不是目录存在,而是目录可读。换句话说,如果您无权访问要测试的目录,即使该目录存在,也会收到“ 9”字样。参见其他条目。
,另一种选择是使用单引号字符串。在这种情况下,powershell不会扩展变量。
test-path \'\\\\server\\path\\$username\'
-Oisin
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。