Mark Ku's Blog

用 Power shell 跳窗指定複製的資料夾

問題

目在開發階段,不同網站的樣式 ( Theme )資料夾,經常需要手動覆蓋,用Powershell 將其自動化。

作法

  1. 複製採用 windows 內建強大的 robocopy 指令。
  2. 預設資料夾目錄,透過 net framework 跳窗元件,仍可以選擇想要複製的資料夾目錄。

使用方式

  1. 對 create_desktop_workspace.ps1 右鍵,用 PowerShell 執行
檔案總管中右鍵點擊 PowerShell 腳本選擇執行
檔案總管中右鍵點擊 PowerShell 腳本選擇執行
  1. 選取要 copy 的 Theme Folder
PowerShell 跳窗選取 Theme1 資料夾
PowerShell 跳窗選取 Theme1 資料夾
  1. 腳本就會將指定資料夾的 Theme 複製到專案中 PowerShell 視窗顯示 ROBOCOPY 複製資料夾的結果

程式碼

Function Get-Folder($initialDirectory)
{
    [System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms")|Out-Null

    $foldername = New-Object System.Windows.Forms.FolderBrowserDialog
    $foldername.Description = "Select a folder"
    $foldername.rootfolder = "MyComputer"
    $foldername.SelectedPath = $initialDirectory
	$foldername.ShowNewFolderButton = $false
	
    if($foldername.ShowDialog() -eq "OK")
    {		
        $folder += $foldername.SelectedPath
    }else{
		exit		
	}
    return $folder
}

$defaultFolderName="Theme1"
$currentPath = (Get-Item .).FullName + '\Src\Web.Portal\' + $defaultFolderName ;
$desktopThemePath = Get-Folder($currentPath)

$pathArray = $desktopThemePath.Split("\")
$targetFolderName =$pathArray[$pathArray.length-1]

$desktopProjectSource="..\Portal\Portal\Portal.Web\Web"

robocopy $desktopThemePath $desktopProjectSource /E
pause


作者

Mark Ku

擁有 10+ 年經驗的資深軟體工程師,現為 AI 應用 Builder,專注於大型平台架構與簡化複雜系統設計,從電商系統到訂閱與收費平台,結合 AI Agent、AI 整合與自動化開發,打造高效率且可持續演進的產品技術基礎。閱讀更多

覺得這篇有幫助?

作者做的免費工具、每日 Podcast 與電子報,都在這裡。

Mark Ku · 本文採用 CC BY 4.0 授權,轉載請註明作者並附上原文連結。

留言

訂閱電子報

訂閱後即時收到新文章通知,不錯過任何技術分享。

提交即表示同意接收電子報,隨時可

熱門文章

View all
Mark Ku
··603

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案
Mark Ku
··440

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南
Mark Ku
··323

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略
Mark Ku
··239

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1
Mark Ku
··222

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取
Mark Ku
··199

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調