创建目录,但不是我想要它做的

时间:2015-09-09 15:51:47

标签: powershell powershell-ise

我创建了一个将创建目录的powershell脚本:

function Create-C:Directory{
md C:\DATA
}

function Create-C:DirectoryLOG{
md C:\Log
}

$TestCDrive = Test-Path C:\DATA
IF ($TestCDrive  = "False")
        {Create-C:Directory}
ELSE
        {Write-Host "C Data Directory Exists"}

$TestCDriveLOG = Test-Path C:\Log
IF ($TestCDriveLOG = "False")
        {Create-C:DirectoryLOG}
ELSE
        {Write-Host "C LOG Directory Exists"}

我相信我告诉代码,如果测试路径是假的,那么创建else write-host。我相信这段代码可以按照我的预期进行吗?

结果: 当我第一次运行它会创建我的目录。 但是为了测试目的,当我再次运行时,我希望它告诉我该目录已经存在但是它给了我一条红色错误消息说:

md: An item with the soecified name C:\DATA already exists.

C:\ Log也一样。我真的不明白如何处理这个,我花了很多时间来弄清楚但没有运气。希望有人可以提供帮助

1 个答案:

答案 0 :(得分:3)

试试这个,你的逻辑有点偏离:

function Create-C:DirectoryLOG{
md C:\Log
}

IF (!(Test-Path C:\DATA))
        {Create-C:Directory}
ELSE
        {Write-Host "C Data Directory Exists"}

IF (!(Test-Path C:\log))
        {Create-C:DirectoryLOG}
ELSE
        {Write-Host "C LOG Directory Exists"}