77 lines
4.3 KiB
Batchfile
77 lines
4.3 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
:: Default values
|
|
set "company_name=company-name"
|
|
set "package_name=package-name"
|
|
set "CompanyName=CompanyName"
|
|
set "PackageName=PackageName"
|
|
set "root_namespace="
|
|
set "package_display_name=Package Display Name"
|
|
set "package_description=This is an example package description."
|
|
set "git_url=https://github.com/your-username/your-project-name"
|
|
set "package_path=Assets/FolderName"
|
|
set "author_name=Your Name"
|
|
set "author_url=https://github.com/your-username"
|
|
|
|
:: Get user input with defaults
|
|
echo.
|
|
set /p "input_company_name=Enter company_name [%company_name%]: "
|
|
if not "!input_company_name!"=="" set "company_name=!input_company_name!"
|
|
|
|
echo.
|
|
set /p "input_package_name=Enter package_name [%package_name%]: "
|
|
if not "!input_package_name!"=="" set "package_name=!input_package_name!"
|
|
|
|
echo.
|
|
set /p "input_CompanyName=Enter CompanyName [%CompanyName%]: "
|
|
if not "!input_CompanyName!"=="" set "CompanyName=!input_CompanyName!"
|
|
|
|
echo.
|
|
set /p "input_PackageName=Enter PackageName [%PackageName%]: "
|
|
if not "!input_PackageName!"=="" set "PackageName=!input_PackageName!"
|
|
|
|
echo.
|
|
set /p "input_root_namespace=Enter root_namespace [%root_namespace%]: "
|
|
if not "!input_root_namespace!"=="" set "root_namespace=!input_root_namespace!"
|
|
|
|
echo.
|
|
set /p "input_package_display_name=Enter package_display_name [%package_display_name%]: "
|
|
if not "!input_package_display_name!"=="" set "package_display_name=!input_package_display_name!"
|
|
|
|
echo.
|
|
set /p "input_package_description=Enter package_description [%package_description%]: "
|
|
if not "!input_package_description!"=="" set "package_description=!input_package_description!"
|
|
|
|
echo.
|
|
set /p "input_git_url=Enter git_url [%git_url%]: "
|
|
if not "!input_git_url!"=="" set "git_url=!input_git_url!"
|
|
|
|
echo.
|
|
set /p "input_package_path=Enter package_path [%package_path%]: "
|
|
if not "!input_package_path!"=="" set "package_path=!input_package_path!"
|
|
|
|
echo.
|
|
set /p "input_author_name=Enter author_name [%author_name%]: "
|
|
if not "!input_author_name!"=="" set "author_name=!input_author_name!"
|
|
|
|
echo.
|
|
set /p "input_author_url=Enter author_url [%author_url%]: "
|
|
if not "!input_author_url!"=="" set "author_url=!input_author_url!"
|
|
|
|
:: Update files
|
|
echo.
|
|
echo Updating variables ^& filenames...
|
|
|
|
:: Use PowerShell to update file contents (excluding .git folder and batch files)
|
|
powershell -Command "$companyName='%company_name%'; $packageName='%package_name%'; $CompanyName='%CompanyName%'; $PackageName='%PackageName%'; $rootNamespace='%root_namespace%'; $displayName='%package_display_name%'; $description='%package_description%'; $gitUrl='%git_url%'; $packagePath='%package_path%'; $authorName='%author_name%'; $authorUrl='%author_url%'; Get-ChildItem -Recurse -File | Where-Object { $_.FullName -notmatch '\\.git' -and $_.Extension -ne '.bat' } | ForEach-Object { $content = [System.IO.File]::ReadAllText($_.FullName); $content = $content -replace '\[company-name\]', $companyName -replace '\[package-name\]', $packageName -replace '\[CompanyName\]', $CompanyName -replace '\[PackageName\]', $PackageName -replace '\[root-namespace\]', $rootNamespace -replace '\[package-display-name\]', $displayName -replace '\[package-description\]', $description -replace '\[git-url\]', $gitUrl -replace '\[package-path\]', $packagePath -replace '\[author-name\]', $authorName -replace '\[author_name\]', $authorName -replace '\[author-url\]', $authorUrl; [System.IO.File]::WriteAllText($_.FullName, $content) }"
|
|
|
|
:: Rename files (excluding .git folder and batch files)
|
|
powershell -Command "$companyName='%company_name%'; $packageName='%package_name%'; $CompanyName='%CompanyName%'; $PackageName='%PackageName%'; Get-ChildItem -Recurse -File | Where-Object { $_.FullName -notmatch '\\.git' -and $_.Extension -ne '.bat' -and ($_.Name -match '\[company-name\]\.\[package-name\]' -or $_.Name -match '\[CompanyName\]\.\[PackageName\]' -or $_.Name -match '^\[package-name\]' -or $_.Name -match '^\[PackageName\]') } | ForEach-Object { $dir = $_.DirectoryName; $newName = $_.Name -replace '\[company-name\]\.\[package-name\]', ($companyName + '.' + $packageName) -replace '\[CompanyName\]\.\[PackageName\]', ($CompanyName + '.' + $PackageName) -replace '^\[package-name\]', $packageName -replace '^\[PackageName\]', $PackageName; Rename-Item -LiteralPath $_.FullName -NewName $newName }"
|
|
|
|
echo.
|
|
echo DONE!
|
|
echo.
|
|
|
|
pause
|