2016-07-15 159 views
0

我需要创建一个脚本,要求用户输入文件夹名称\路径$File。从$File获得子文件夹名称,例如$File\docs\ref\$host。然后将$host复制到新的网络共享中,并创建该文件夹名称$host并将其内容粘贴到那里。读取主机根文件夹的Aquire子文件夹名称

我不能只是复制$host的原因是因为$host名称发生更改,与$File一样,但两者之间的子文件夹相同。 我希望这是有道理的?

这是我有:

$file = Read-Host -Prompt 'What is your folder?' 
# This is where I'm stuck 
$host = Read-Host $file\docs\ref\$host 
Test-Path \\Hulk\note\$host 
If false 
MD \\Hulk\note\$host 
Copy-Item –Path $file\docs\ref\$host\ -Destination \\Hulk\note\$host\ –Recurse 
+1

'$ file \ docs \ ref \ $ host'中的$ host是从哪里来的?你为什么使用'Read-Host'呢?另外,'$ host'是一个[自动变量](https://technet.microsoft.com/en-us/library/hh847768.aspx),它包含有关主机进程的信息。你不应该修改它。 –

+0

'$ file = Read-Host -Prompt'你的文件夹是什么?''将包含文件夹名称不在$ Host – DisplayName

+0

啊,我没有意识到$ host是一个自动变量 –

回答

0

假设\绿巨人\记\裁判是目标,你可以根据输入主机上该目录中创建文件夹,复制相同的文件夹在任何地方试试这个

$location="\\Hulk\note\ref" 
    [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null 
    $folderName = Read-Host -Prompt 'Input folder name' 
    $target = Join-Path $location $folderName 
    if (-not (Test-Path '$target' -PathType Container)) { new-item "\\Hulk\note\$foldername" -type directory } 
Copy-Item –Path \\path\$foldername -Destination \\where you need –Recurse 
相关问题