【发布时间】:2019-11-27 13:37:52
【问题描述】:
我正在尝试构建一种在 Windows 中创建文件夹结构的方法,该结构自动基于作业编号以及他们需要多少部件。我能够使代码运行到我制作主文件夹,子文件夹和文件夹中的子文件夹的地步,其中有一部分。然而,我想做的事情是根据优先级将不同的部分转移到每个文件夹中
最多有 7 个优先级,需要除以零件的数量,因此例如有 4 个具有 4 个优先级的零件。(在此示例代码中,它创建了销售文件夹,然后在其下方放置了一个名为传送带的文件夹然后将 4 个文件夹放入带数字的传送带文件夹中)像这样的 id,根据优先级的多少将四个不同的部分放入四个不同的文件夹中)
尝试了潜水优先级,但这不起作用,因为我不明白如何存储数组来做我要求的事情
powershell
$salesorder = read-host -prompt 'What is the customer name and salesorder number? (ex.. turnkey - 3335)'
$jobnumber = read-host -prompt 'what is the Plant folder plus job number? (ex... 930-12345)'
$foldername = $jobnumber + " - " + $salesorder
#$conveyornumber = read-host -prompt "what is the number for conveyors? " + " - "
$priority = read-host -prompt "how many priorities are there?"
##************************* setting variables for second level basic Folder Structure *********************************
$partpath = '\\wal-file\public\sullivan\sully_temp_part.ipt'
$layout = 'D0100 - Layout'
$footprint = 'D0101 - Footprint'
$equipment = 'D01xx - Equipment'
$Guarding = 'D85xx - Guarding'
$conveyor = 'D60xx - Conveyors'
$platform = 'D90xx - Platforms'
#*************************** creating new variables based on folder name stylings *************************************
$workdir = new-item -path "C:\vault_workspace\Temp_vault\wendt\" -name $foldername -itemtype 'directory' -force
$layoutdir = new-item -path $workdir -name $layout -itemtype 'directory'
$layoutfilename = $layoutdir -join '.ipt'
#*************************** setting work directory input **************************************************************
new-item -path $layoutdir -name "$salesorder.ipt" -itemtype "file"
$footprintdir = new-item -path $workdir -name $footprint -itemtype 'directory'
$conveyordir = new-item -path $workdir -name $conveyor -itemtype 'directory'
#looping statement to create multiple folders
$conveyorinput = read-host -prompt "how many conveyors need to be made?"
for ($i = 1; $i -le $conveyorinput; $i++){"{0:D2}" -f $number} { [system.io.directory]::CreateDirectory("$conveyordir\D51$I")}
start-sleep -seconds 5
#creating multiple files
$conveyorarray = Get-ChildItem $conveyordir | Where-Object {$_.PSChildname} | Foreach-Object {$_.Name}
foreach ($path in $conveyorarray) {copy-item -path $partpath -destination "$conveyordir\$path\$jobnumber-4-$path-DUmmy-A0.ipt "}
我尝试了一些东西,结果好坏参半,这与我期待的结果不一样。我尝试过使用它,但我无法找到一种方法来实现任何接近于我要求某种形式的 If 语句可能会做到的事情,但我将它放在哪里以及它如何工作?
感谢您的帮助
【问题讨论】:
-
我不知道你想做什么。 [blush] 您能否添加一组输入示例以及使用该输入的所需输出?
-
hmm,我不确定您还需要什么.. 如果有办法附加屏幕截图,我会这样做,如果您使用此脚本,(您可以修改正在创建的部分,您可以输入任何一组数字)您将输入销售1234,然后输入订单号1234,它将在Vault工作区文件夹中创建主文件夹1234 - 1234,然后它会询问您想要多少个传送带,您会说4和它将在传送带下创建传送带文件夹和 4 个子文件夹,然后我希望它将部件放入这些子文件夹中,但部件需要根据输入具有不同的优先级
-
第一个将是您要作为 dir 结构基础的信息。第二个是该信息中所需的 s=dir 结构。
-
如果您运行脚本,它会为您创建文件夹结构,它的指定不同的优先级部分就是问题所在。我有四个部分标记为 sully 样本部分 p1、p2、p3 等
-
我还是一头雾水。 [blush] 忽略我的帖子,等待不太容易混淆的人过来帮忙。祝你好运! [咧嘴]
标签: arrays powershell directory creation