0

我有一些文件服务器,如果它不存在,我想创建一个路径......简单吧?我是这么认为的,但路径是沿着隐藏的管理员共享。

就在我认为我在编写一个简单问题的脚本方面做得不错的时候,我却把 $h#@$#@ 拖了出去......

这是我划掉的代码:

Cls
#check for fileshare
$servers = get-content C:\Temp\test.txt

forEach ($server in $servers) {
$shareTest = Test-Path "\\$Server\Share$\Test"

if($shareTest){
Write-Host "Path Exists on $server"
}
Else{
New-Item -Path "\\$Server\Share$\" -Name Test -ItemType Directory

Write-Host "Path Exists on $server"
}
}

我收到错误:

New-Item :路径不是合法形式。在行:5 字符:7

大概这是因为路径中有一个 $ 。我不知道如何逃脱它,或者我需要做什么巫术才能让它工作......

这已经在不同的脚本中出现了几次,我想在我流血之前把它剪掉......

谢谢帮。

4

1 回答 1

1

我遇到了奇怪的情况,其中“$”通过变量扩展被奇怪地解释了。您可以通过字符串标记化解决这个问题:

$server = 'hiyo'
'\\{0}\{1}' -f $server, 'share$'
于 2020-04-06T20:49:34.730 回答