So I am writing a script, where I want to read in files from 2
directories. And I want to access them as if they were 2 separate
drive letters (to emulate the configuration on another machine, where
I will eventually run this script). So, if I use a SUBST command, all
works correctly:

Z:\>subst I: D:\Testing\SyncCheckDirs\Web01

Script:
---------------
$Web01_Dir = "I:\PHAWebsiteR2\media"
$Web01_Drv_Letter = "I"

$Web01_Files = Get-ChildItem -Path $Web01_Dir -recurse | Sort

ForEach ($LeftFile in $Web01_Files)
{
$ThisFile = $LeftFile.FullName
Write-Host "FullName = " $LeftFile.FullName
}
---------------

And I get this:

PS Z:\PHA Scripts> .\Test-PSDrive.PS1
FullName =  I:\WebsiteR2\media\10022
FullName =  I:\WebsiteR2\media\10037

IOW , I see the SUBST drive letter, and not the actual path of
"D:\Testing\SyncCheckDirs\Web01". Great! Exactly as I expect, and
want.

BUT:

If I don't do a SUBST at the command line first, and instead include a
line to use New-PSDrive:

---------------
$Web01_Dir = "I:\PHAWebsiteR2\media"
$Web01_Drv_Letter = "I"

New-PSDrive -name $Web01_Drv_Letter -PSProvider FileSystem -root
D:\Testing\SyncCheckDirs\Web01

$Web01_Files = Get-ChildItem -Path $Web01_Dir -recurse | Sort

ForEach ($LeftFile in $Web01_Files)
{
$ThisFile = $LeftFile.FullName
Write-Host "FullName = " $LeftFile.FullName
}
---------------

I get this:

FullName =  D:\Testing\SyncCheckDirs\Web01\WebsiteR2\media\10022
FullName =  D:\Testing\SyncCheckDirs\Web01\WebsiteR2\media\10037


IOW,the result isn't using the "mapped" drive letter of I:, as it does
if I do a SUBST from the command line. And I don't know why. Shouldn't
the result of using the New-PSDrive command cause a Get-ChildItem to
return results using the PSDrive letter? It seems to be ignoring that,
and giving me the actual, i.e., non-aliased, path. I want the result
to include the PSDrive letter; how can I do that?

(this will influence the rest of the script, as I process the file)

I've read that New-PSDrive gives similar results to the SUBST command,
but this seems not to be the case for me. What concept am I missing,
or doing wrong here?

Thanks


================================================
Did you know you can also post and find answers on PowerShell in the forums?
http://www.myitforum.com/forums/default.asp?catApp=1

Reply via email to