@ -5,6 +5,8 @@ 
			
		
	
		
		
			
				
					
					    [switch]  $Force ,       [switch]  $Force ,    
			
		
	
		
		
			
				
					
					    [switch]  $Sub      [switch]  $Sub   
			
		
	
		
		
			
				
					
					) )  
			
		
	
		
		
			
				
					
					Import-Module  -Name  ( $PSScriptRoot  +  " \PathChar.psd1 " )  
			
		
	
		
		
			
				
					
					Edit-PathChar  $Path  
			
		
	
		
		
			
				
					
					#$TargetName = "俺だけ入れる隠しダンジョン〜こっそり鍛えて世界最強〜"; #$TargetName = "俺だけ入れる隠しダンジョン〜こっそり鍛えて世界最強〜";  
			
		
	
		
		
			
				
					
					$TargetName  =  " " $TargetName  =  " "  
			
		
	
		
		
			
				
					
					#$DestinName = "真の仲間" #$DestinName = "真の仲間"  
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -62,20 +64,22 @@ function Get-StandName { 
			
		
	
		
		
			
				
					
					    $File  =  $ ( if  ( $FileObj . GetType ( ) . Name  -eq  'FileInfo' )  {      $File  =  $ ( if  ( $FileObj . GetType ( ) . Name  -eq  'FileInfo' )  {   
			
		
	
		
		
			
				
					
					        $FileObj          $FileObj   
			
		
	
		
		
			
				
					
					    }  else  {      }  else  {   
			
		
	
		
		
			
				
					
					        Get-Item  -Path  $ ( $FileObj  -replace  '([\[\]])' ,  '`$1' )          Get-Item  -Path  $ ( Edit-PathChar  $FileObj )   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					    } )      } )   
			
		
	
		
		
			
				
					
					           
			
		
	
		
		
			
				
					
					    # 因應檔名不同而設定多組正規方式      # 因應檔名不同而設定多組正規方式   
			
		
	
		
		
			
				
					
					    $Result  =  @ ( $ (      $Result  =  @ ( $ (   
			
		
	
		
		
			
				
					
					        #$($TestName[-1] -match "\[([^\]]*)\]\[(\d{1,2})\]")          #$($TestName[-1] -match "\[([^\]]*)\]\[(\d{1,2})\]")   
			
		
	
		
		
			
				
					
					        #$($File.Name -match "[\[\s]([^\]]*?)(?:[\]\[\-\s]+)(\d{1,2})[\]\s]")          #$($File.Name -match "[\[\s]([^\]]*?)(?:[\]\[\-\s]+)(\d{1,2})[\]\s]")   
			
		
	
		
		
			
				
					
					        $ ( $File . Name  -match  " [\[\s](?<Name>\b[^\]]*\b)(?:[\]\[\-\s]+)(?<Episode>\d{1,2})(?:[vV]\d|FIN|END)?[\]\s] " )          #$($File.Name -match "[\[\s](?<Name>\b[^\]]*\b)(?:[\]\[\-\s]+)(?<Episode>\d{1,2})(?:[vV]\d|FIN|END)?[\]\s]")   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					        $ ( $ ( $File . Name  -replace  " \[(DVD|HDTV|BD)rip\] " ,  '' )  -match  " [\[\s](?<Name>\b[^\]]*\b)(?:[\]\[\-\s]+)(?<Episode>\d{1,2})(?:_?[vV]\d|FIN|END)?[\]\s] " )   
			
		
	
		
		
			
				
					
					        #$($TestName[-1] -match "[\[\s](?<Name>[^\]]*?)(?:[\]\[\-\s]+)(?<Episode>\d{1,2})(?:[vV]\d)?[\]\s]")          #$($TestName[-1] -match "[\[\s](?<Name>[^\]]*?)(?:[\]\[\-\s]+)(?<Episode>\d{1,2})(?:[vV]\d)?[\]\s]")   
			
		
	
		
		
			
				
					
					    )  |  %  {  if  ( $_ )  {  $Matches  } } )      )  |  %  {  if  ( $_ )  {  $Matches  } } )   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    # 檔名分析測試用      # 檔名分析測試用   
			
		
	
		
		
			
				
					
					#    $Pathes = @( #    $Pathes = @(  
			
		
	
		
		
			
				
					
					#            "L:\Anime\200910 聖剣の刀鍛冶(聖劍鍛造師)\[DMG][The Sacred Blacksmith][01-12 END][848x480][BIG5]\[DMG][The Sacred Blacksmith][04V2][848x480][BIG5].rmvb" #            "L:\Anime\200910 聖剣の刀鍛冶(聖劍鍛造師)\[DMG][The Sacred Blacksmith][01-12 END][848x480][BIG5]\[DMG][The Sacred Blacksmith][04V2][848x480][BIG5].rmvb"  
			
		
	
		
		
			
				
					
					#            "L:\Anime\201104 星空へ架かる橋(架向星空之橋)\[AngelSub][Hoshizora e Kakaru Hashi][BDRip][Vol.01][1920x1080][TW_BIG5][x264_FLAC]\[AngelSub][Hoshizora e Kakaru Hashi][BDRip][01][1920x1080][BIG5][x264_FLAC].mkv"  
			
		
	
		
		
			
				
					
					#            "H:\Anime\201901 盾の勇者の成り上がり\[LKSUB][Tate no Yuusha no Nariagari][01-25][GB][720P][MP4]\[LKSUB][Tate no Yuusha no Nariagari][01][GB][720P].mp4" #            "H:\Anime\201901 盾の勇者の成り上がり\[LKSUB][Tate no Yuusha no Nariagari][01-25][GB][720P][MP4]\[LKSUB][Tate no Yuusha no Nariagari][01][GB][720P].mp4"  
			
		
	
		
		
			
				
					
					#            "L:\Anime\202004 ストライク・ザ・ブラッド OVA IV\[Suzu-Kaze][Strike_the_Blood_IV_OVA][01-12FIN][BDRip_1080P][HEVC_YUV420P10]\[Suzu-Kaze] Strike the Blood IV 12FIN [BDRip 1920x1080 HEVC YUV420P10 FLAC].mkv" #            "L:\Anime\202004 ストライク・ザ・ブラッド OVA IV\[Suzu-Kaze][Strike_the_Blood_IV_OVA][01-12FIN][BDRip_1080P][HEVC_YUV420P10]\[Suzu-Kaze] Strike the Blood IV 12FIN [BDRip 1920x1080 HEVC YUV420P10 FLAC].mkv"  
			
		
	
		
		
			
				
					
					#            "L:\Anime\200910 アスラクライン II(機巧魔神)\[DMG][Asura Cryin2][01-13 END][848x480][BIG5][RMVB]\[DMG][Asura Cryin 2][01][848x480][Big5].rmvb" #            "L:\Anime\200910 アスラクライン II(機巧魔神)\[DMG][Asura Cryin2][01-13 END][848x480][BIG5][RMVB]\[DMG][Asura Cryin 2][01][848x480][Big5].rmvb"  
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -84,7 +88,7 @@ function Get-StandName { 
			
		
	
		
		
			
				
					
					#    $TestName = @($Pathes | % {$_.Split("\\")[-1]}) #    $TestName = @($Pathes | % {$_.Split("\\")[-1]})  
			
		
	
		
		
			
				
					
					#    $Result = @( $TestName | % { @( #    $Result = @( $TestName | % { @(  
			
		
	
		
		
			
				
					
					      #$($_ -match "\[([^\]]*)\]\[(\d{1,2})\]")        #$($_ -match "\[([^\]]*)\]\[(\d{1,2})\]")   
			
		
	
		
		
			
				
					
					#      $($_ -match "[\[\s](?<Name>\b[^\]]*\b)(?:[\]\[\-\s]+)(?<Episode>\d{1,2})(?:[vV]\d|FIN|END)?[\]\s]") #      $($($ _ -replace "\[(DVD|HDTV|BD)rip\]", '')  -match "[\[\s](?<Name>\b[^\]]*\b)(?:[\]\[\-\s]+)(?<Episode>\d{1,2})(?:[vV]\d|FIN|END)?[\]\s]")  
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					#    ) | % { if ($_) { $Matches }}}) #    ) | % { if ($_) { $Matches }}})  
			
		
	
		
		
			
				
					
					#    Write-Output $Result #    Write-Output $Result  
			
		
	
		
		
			
				
					
					#    $Matches #    $Matches  
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -144,11 +148,11 @@ $StructPathObj = @{ 
			
		
	
		
		
			
				
					
					# 運作模式 # 運作模式  
			
		
	
		
		
			
				
					
					if  ( $Single )  { if  ( $Single )  {  
			
		
	
		
		
			
				
					
					    # 單集模式      # 單集模式   
			
		
	
		
		
			
				
					
					    $List  =  @ ( Get-Item  -Path  $ ( $Path  -replace  '([\[\]])' ,  '`$1' ) )      $List  =  @ ( Get-Item  -Path  $ ( Edit-PathChar  $Path ) )   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					    $BuildList  =  $List  |  select  $FileObj ,  $StructPathObj ,  $NewNameObj  |  ?  { $_ . NewName . Episode  -notin  $WorkData . Episode }      $BuildList  =  $List  |  select  $FileObj ,  $StructPathObj ,  $NewNameObj  |  ?  { $_ . NewName . Episode  -notin  $WorkData . Episode }   
			
		
	
		
		
			
				
					
					    #$BuildList | ? {$_.NewName.Episode -notin $WorkData.Episode} | Format-List       #$BuildList | ? {$_.NewName.Episode -notin $WorkData.Episode} | Format-List    
			
		
	
		
		
			
				
					
					}  elseif  ( $Sub )  { }  elseif  ( $Sub )  {  
			
		
	
		
		
			
				
					
					    $List  =  @ ( Get-Item  -Path  $ ( $Path  -replace  '([\[\]])' ,  '`$1' ) )      $List  =  @ ( Get-Item  -Path  $ ( Edit-PathChar  $Path ) )   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					    $BuildList  =  $List  |  select  $FileObj ,  $StructPathObj ,  $NewNameObj  |  ?  { $_ . File . Extension  -in  @ ( " .ass " ,  " .ssa " ) }      $BuildList  =  $List  |  select  $FileObj ,  $StructPathObj ,  $NewNameObj  |  ?  { $_ . File . Extension  -in  @ ( " .ass " ,  " .ssa " ) }   
			
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					
 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -156,7 +160,7 @@ $ENDResult = $BuildList | % { 
			
		
	
		
		
			
				
					
					    $Command  =  @ {      $Command  =  @ {   
			
		
	
		
		
			
				
					
					        ItemType  =  'HardLink'          ItemType  =  'HardLink'   
			
		
	
		
		
			
				
					
					        Path  =  $ ( " {0}\{1} "  -f  $_ . StructPath ,  $_ . NewName . newFullName )          Path  =  $ ( " {0}\{1} "  -f  $_ . StructPath ,  $_ . NewName . newFullName )   
			
		
	
		
		
			
				
					
					        Target  =  $ ( $_ . File . Fullname  -replace  '([\[\]])' ,  '`$1'  )          Target  =  $ ( Edit-PathChar  $_ . File . Fullname )   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					    #try {      #try {   
			
		
	
		
		
			
				
					
					        if  ( New-Item  @Command )  {           if  ( New-Item  @Command )  {    
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -176,8 +180,8 @@ exit 0; 
			
		
	
		
		
			
				
					
					# SIG # Begin signature block # SIG # Begin signature block  
			
		
	
		
		
			
				
					
					# MIIFxwYJKoZIhvcNAQcCoIIFuDCCBbQCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB # MIIFxwYJKoZIhvcNAQcCoIIFuDCCBbQCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB  
			
		
	
		
		
			
				
					
					# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR  
			
		
	
		
		
			
				
					
					# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQU8mPuUodwDIN2Q4E0vUnnZGUG  # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUDqcimTh1uRkBM2wZ3oxWPCw2   
			
				
				
			
		
	
		
		
			
				
					
					# r4G gggNSMIIDTjCCAjagAwIBAgIQdMnAQ4BDAo9Lgfn+QeDdhjANBgkqhkiG9w0B # SQ+ gggNSMIIDTjCCAjagAwIBAgIQdMnAQ4BDAo9Lgfn+QeDdhjANBgkqhkiG9w0B  
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					# AQUFADAqMRMwEQYDVQQDDApOaWNrIENoYW5nMRMwEQYDVQQKDAplYXJpY2sub3Jn # AQUFADAqMRMwEQYDVQQDDApOaWNrIENoYW5nMRMwEQYDVQQKDAplYXJpY2sub3Jn  
			
		
	
		
		
			
				
					
					# MB4XDTIxMTAzMTEwMDI1MVoXDTIyMTAzMTEwMjI1MVowMzEiMCAGCSqGSIb3DQEJ # MB4XDTIxMTAzMTEwMDI1MVoXDTIyMTAzMTEwMjI1MVowMzEiMCAGCSqGSIb3DQEJ  
			
		
	
		
		
			
				
					
					# ARYTcGNuaWNrMTAwQGdtYWlsLmNvbTENMAsGA1UEAwwETmljazCCASIwDQYJKoZI # ARYTcGNuaWNrMTAwQGdtYWlsLmNvbTENMAsGA1UEAwwETmljazCCASIwDQYJKoZI  
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -198,11 +202,11 @@ exit 0; 
			
		
	
		
		
			
				
					
					# AgEBMD4wKjETMBEGA1UEAwwKTmljayBDaGFuZzETMBEGA1UECgwKZWFyaWNrLm9y # AgEBMD4wKjETMBEGA1UEAwwKTmljayBDaGFuZzETMBEGA1UECgwKZWFyaWNrLm9y  
			
		
	
		
		
			
				
					
					# ZwIQdMnAQ4BDAo9Lgfn+QeDdhjAJBgUrDgMCGgUAoHgwGAYKKwYBBAGCNwIBDDEK # ZwIQdMnAQ4BDAo9Lgfn+QeDdhjAJBgUrDgMCGgUAoHgwGAYKKwYBBAGCNwIBDDEK  
			
		
	
		
		
			
				
					
					# MAigAoAAoQKAADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3 # MAigAoAAoQKAADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3  
			
		
	
		
		
			
				
					
					# AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQUs/WMayHdj7voQ+1i  # AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQUZ98/I+dj0JylJtNV   
			
				
				
			
		
	
		
		
			
				
					
					# xWSLfdeejpcwDQYJKoZIhvcNAQEBBQAEggEAsgkEEH0srYtf8UzIuYMmWBaDEa2t  # 6S37dg5/QPEwDQYJKoZIhvcNAQEBBQAEggEABCrG4XNbnCRBIlDyHFCXMJ4vucsD   
			
				
				
			
		
	
		
		
			
				
					
					# xC3bcCkuP+FFqln47A8bA3zEMvp69Ox9+bJIzSDsoeT/lEqKxPYt/JS+JgIYg5op  # p4roqcdLmtM/g75EEus9h/qXMF/CLbc3BDbSEHGXnEk2OO3MN7+HWUudbAxvBfUE   
			
				
				
			
		
	
		
		
			
				
					
					# o1DjvzzTo6rGvpOW/cFTcoaP8tKoXWeRGjAD0lex06tiqMio49wOrsY/m4RGW13c  # z8xTGSNCoNgWhPmEj859OOCu5i7Y1XIEkF89v5nPOzblTMesSdm44FQaBtrC1bHM   
			
				
				
			
		
	
		
		
			
				
					
					# tQvdLGJTFWD7ovFAfC14BE7Fl3WMLwljD70DuWistL7fYm3bspj2cJTFjiIDWmML  # z0dx+mnz0Zak7MzWkXUnyIeoKc2vM4eGlR/pBxXO7n5ycp70lL5rRWX9eVTT4r96   
			
				
				
			
		
	
		
		
			
				
					
					# xDCx7sVyGBF5krwJB3DefO5Dq006ANCMU94gpSwQzOUFN6ZYvufa8EniaHYUhI+9  # dW7ZUpL9Gwcq0PHLNg7rFgUmLSkMO3jUiIat0DBSJGkzUfVUhfpIPkG77auVLJKR   
			
				
				
			
		
	
		
		
			
				
					
					# 6Z+pEHvR+MOwT6LA6F0pe7Vel8O2bGmRTaH8+K9mj6r/JOky1ZcFebKDzg == # YdfUqFL+zrq6GhSrKsD7cz5GC4I9RuaFuykGDqW6aZ93PSRlXxmw32GVvQ ==  
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					# SIG # End signature block # SIG # End signature block