Compare commits
3 Commits
37d787ce74
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c5d6c645c4 | ||
|
|
24f5e143dd | ||
|
|
f2e0d00d03 |
56
Make-FolderStruct.ps1
Normal file
56
Make-FolderStruct.ps1
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
<#
|
||||||
|
.SYNOPSIS
|
||||||
|
This script creates a folder structure under $FolderName
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
This script creates a folder with a set of different sub-folders in it.
|
||||||
|
The parent folder is created under the $Path defined.
|
||||||
|
|
||||||
|
.PARAMETER $Path
|
||||||
|
The path where the main folder will be created.
|
||||||
|
|
||||||
|
.PARAMETER $FolderName
|
||||||
|
The name of the parent folder. Default is "New Folder"
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
The example below creates the folder "Example" in the main drive.
|
||||||
|
PS C:\> dir-maker -Path C:\
|
||||||
|
|
||||||
|
.NOTES
|
||||||
|
Author: JQQ
|
||||||
|
Last Edit: 2022-11-22
|
||||||
|
Version 1.0 - initial release
|
||||||
|
|
||||||
|
#>
|
||||||
|
|
||||||
|
# Parameters
|
||||||
|
[CmdletBinding()]
|
||||||
|
param(
|
||||||
|
#Root Path
|
||||||
|
[Parameter(Mandatory=$True)]
|
||||||
|
[string]$Path,
|
||||||
|
|
||||||
|
#Parent Folder Name
|
||||||
|
[string]$FolderName = "New Folder"
|
||||||
|
);
|
||||||
|
|
||||||
|
# Variables
|
||||||
|
[string]$ParentFolder = $Path + $FolderName;
|
||||||
|
[string[]]$FolderList = @("\Alarms"
|
||||||
|
,"\GFX"
|
||||||
|
,"\Historian"
|
||||||
|
,"\PLC"
|
||||||
|
,"\Simulation"
|
||||||
|
);
|
||||||
|
|
||||||
|
# Main
|
||||||
|
Write-Verbose("Creating parent folder " + $ParentFolder);
|
||||||
|
ForEach ($Folder in $FolderList) {
|
||||||
|
New-Item -Path ($ParentFolder + $Folder) -ItemType Directory;
|
||||||
|
};
|
||||||
|
|
||||||
|
<#
|
||||||
|
.NAME
|
||||||
|
Make-Structure
|
||||||
|
|
||||||
|
#>
|
||||||
@@ -1,23 +1,30 @@
|
|||||||
|
# Filter first
|
||||||
.
|
.
|
||||||
|
| debug("Filtering...")
|
||||||
|
| .tags[]
|
||||||
|
|= select(.typeId == $typeId)
|
||||||
# Sort first
|
# Sort first
|
||||||
| walk(
|
| debug("Sorting...")
|
||||||
if type == "object" and has("tags") then
|
| walk( if type == "object" and has("tags") then .tags |= sort_by(.name) end )
|
||||||
.tags |= sort_by(.name)
|
|
||||||
end
|
|
||||||
)
|
|
||||||
# so object positions are predictable
|
# so object positions are predictable
|
||||||
| .tags[3].tags[1].tags as $baseData
|
# | 2 as $pos
|
||||||
| walk(
|
| .tags[0].tags[$pos].tags as $baseData
|
||||||
# Removes .Tags.Controller Tags from the plcName parameter
|
| debug("Modifying tags...")
|
||||||
if type == "object" and has("plcName") then
|
| .tags
|
||||||
.plcName.value |= rtrimstr(".Tags.Controller Tags")
|
|= map(
|
||||||
elif type == "object" and has("plcname") then
|
.
|
||||||
.plcname.value |= rtrimstr(".Tags.Controller Tags")
|
| if .parameters.plcName.value then
|
||||||
|
.parameters.plcName.value |= rtrimstr(".Tags.Controller Tags")
|
||||||
|
elif .parameters.plcname.value then
|
||||||
|
.parameters.plcname.value |= rtrimstr(".Tags.Controller Tags")
|
||||||
end
|
end
|
||||||
)
|
| if .tags
|
||||||
# and can be used as the base line to setup the other objects
|
and .tags[$pos].name == "Data"
|
||||||
| walk(
|
and .tags[$pos].tagType == "Folder"
|
||||||
if type == "object" and .name? == "Data" then
|
then
|
||||||
.tags = $baseData
|
.tags[$pos].tags |= $baseData
|
||||||
|
else
|
||||||
|
.
|
||||||
|
| debug("Data folder not found")
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
13
dirmaker.bat
Normal file
13
dirmaker.bat
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
@echo off
|
||||||
|
IF [%1]==[] (
|
||||||
|
echo Missing Parameter
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
mkdir %1\PLC
|
||||||
|
mkdir %1\GFX
|
||||||
|
mkdir %1\Alarms
|
||||||
|
mkdir %1\Simulation
|
||||||
|
mkdir %1\Historian
|
||||||
|
mkdir %1\Redlion
|
||||||
|
mkdir "%1\PlantPAX ConfigTools"
|
||||||
|
echo Created folder %1 with subfolders
|
||||||
Reference in New Issue
Block a user