@ -61,10 +61,27 @@ function Get-StandName { 
			
		
	
		
		
			
				
					
					    } )      } )   
			
		
	
		
		
			
				
					
					           
			
		
	
		
		
			
				
					
					    # 因應檔名不同而設定多組正規方式      # 因應檔名不同而設定多組正規方式   
			
		
	
		
		
			
				
					
					    $Result  =  @ (      $Result  =  @ ( $ (   
			
				
				
			
		
	
		
		
			
				
					
					        #$($Path -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] " )   
			
				
				
			
		
	
		
		
			
				
					
					    )  |  %  {  if  ( $_ )  {  $Matches  } }      )  |  %  {  if  ( $_ )  {  $Matches  } } )   
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    # 檔名分析測試用   
			
		
	
		
		
			
				
					
					#    $Pathes = @(  
			
		
	
		
		
			
				
					
					#             "L:\Anime\200910 聖剣の刀鍛冶(聖劍鍛造師)\[DMG][The Sacred Blacksmith][01-12 END][848x480][BIG5]\[DMG][The Sacred Blacksmith][04V2][848x480][BIG5].rmvb"  
			
		
	
		
		
			
				
					
					#            "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\200910 アスラクライン II(機巧魔神)\[DMG][Asura Cryin2][01-13 END][848x480][BIG5][RMVB]\[DMG][Asura Cryin 2][01][848x480][Big5].rmvb"  
			
		
	
		
		
			
				
					
					#            "H:\Data\Downloads\異世界食堂\[Lilith-Raws] Isekai Shokudou S02 - 06 [Baha][WEB-DL][1080p][AVC AAC][CHT][MP4].mp4"  
			
		
	
		
		
			
				
					
					#            )  
			
		
	
		
		
			
				
					
					#    $TestName = @($Pathes | % {$_.Split("\\")[-1]})  
			
		
	
		
		
			
				
					
					#    $Result = @( $TestName | % { @(  
			
		
	
		
		
			
				
					
					      #$($_ -match "\[([^\]]*)\]\[(\d{1,2})\]")   
			
		
	
		
		
			
				
					
					#      $($_ -match "[\[\s](?<Name>\b[^\]]*\b)(?:[\]\[\-\s]+)(?<Episode>\d{1,2})(?:[vV]\d|FIN|END)?[\]\s]")  
			
		
	
		
		
			
				
					
					#    ) | % { if ($_) { $Matches }}})  
			
		
	
		
		
			
				
					
					#    Write-Output $Result  
			
		
	
		
		
			
				
					
					#    $Matches  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					           
			
		
	
		
		
			
				
					
					    # OLD Edition      # OLD Edition   
			
		
	
		
		
			
				
					
					    #$File.Name -match "\[([^\]]*)\]\[(\d{1,2})\]" | Out-Null      #$File.Name -match "\[([^\]]*)\]\[(\d{1,2})\]" | Out-Null   
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -74,10 +91,10 @@ function Get-StandName { 
			
		
	
		
		
			
				
					
					           
			
		
	
		
		
			
				
					
					    # 建立回傳資料物件,以方便後續資料處理。      # 建立回傳資料物件,以方便後續資料處理。   
			
		
	
		
		
			
				
					
					    $OutputData  =  " "  |  Select  newName ,  Season ,  Episode ,  newFullName ;      $OutputData  =  " "  |  Select  newName ,  Season ,  Episode ,  newFullName ;   
			
		
	
		
		
			
				
					
					    $OutputData . newName  =  $Result [ 1 ] ;      $OutputData . newName  =  $Result . Name ;   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					    $OutputData . Season  =  $WorkData . Season ;      $OutputData . Season  =  $WorkData . Season ;   
			
		
	
		
		
			
				
					
					    $OutputData . Episode  =  [int]  $Result [ 2 ] ;      $OutputData . Episode  =  [int]  $Result . Episode ;   
			
				
				
			
		
	
		
		
			
				
					
					    $OutputData . newFullName  =  " {0} S{3:00}E{1}{2} "  -f  $Result [ 1 ] ,  $Result [ 2 ] ,  $File . Extension ,  $WorkData . Season ;      $OutputData . newFullName  =  " {0} S{3:00}E{1}{2} "  -f  $Result . Name ,  $Result . Episode ,  $File . Extension ,  $WorkData . Season ;   
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					    #$OutputData | ConvertTo-Json;      #$OutputData | ConvertTo-Json;   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					    # Type 2,在輸出顯示上,此型態建立較傾向 Hash,而上面 select 建立的,較偏向 pscustomobject      # Type 2,在輸出顯示上,此型態建立較傾向 Hash,而上面 select 建立的,較偏向 pscustomobject   
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -132,6 +149,7 @@ $ENDResult = $BuildList | % { 
			
		
	
		
		
			
				
					
					        Target  =  $ ( $_ . File . Fullname  -replace  '([\[\]])' ,  '`$1' )          Target  =  $ ( $_ . File . Fullname  -replace  '([\[\]])' ,  '`$1' )   
			
		
	
		
		
			
				
					
					    }      }   
			
		
	
		
		
			
				
					
					    #try {      #try {   
			
		
	
		
		
			
				
					
							# 判斷 New-Item @Command 是否成功,將 NEWNAME 物件作為回傳值   
			
		
	
		
		
			
				
					
					        if  ( New-Item  @Command )  {  $_ . NewName  }          if  ( New-Item  @Command )  {  $_ . NewName  }   
			
		
	
		
		
			
				
					
					    #} catch {      #} catch {   
			
		
	
		
		
			
				
					
					                   
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -139,7 +157,7 @@ $ENDResult = $BuildList | % { 
			
		
	
		
		
			
				
					
					} }  
			
		
	
		
		
			
				
					
					#$ENDResult #$ENDResult  
			
		
	
		
		
			
				
					
					#$ENDResult.gettype(); #$ENDResult.gettype();  
			
		
	
		
		
			
				
					
					$ENDResult  |  %  {  if  ( $_ )  {  $WorkData . Episode  + =  $_ . Episode  } } $ENDResult  |  %  {  if  ( $_ . Episode )  {  $WorkData . Episode  + =  $_ . Episode  } }  
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					$WorkData  |  ConvertTo-Json  |  Out-File  -Encoding  " UTF8 "  " $ JsonPath\animelibk.json " $WorkData  |  ConvertTo-Json  |  Out-File  -Encoding  " UTF8 "  " $ JsonPath\animelibk.json "  
			
		
	
		
		
			
				
					
					exit  0 ; exit  0 ;  
			
		
	
		
		
			
				
					
					
 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -147,8 +165,8 @@ exit 0; 
			
		
	
		
		
			
				
					
					# SIG # Begin signature block # SIG # Begin signature block  
			
		
	
		
		
			
				
					
					# MIIFxwYJKoZIhvcNAQcCoIIFuDCCBbQCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB # MIIFxwYJKoZIhvcNAQcCoIIFuDCCBbQCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB  
			
		
	
		
		
			
				
					
					# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR  
			
		
	
		
		
			
				
					
					# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQU8hOX2EpjptM6JRQpENcCS+vQ  # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUX9/yYsS2o/ap36sf/Bq1uDoj   
			
				
				
			
		
	
		
		
			
				
					
					# KL6 gggNSMIIDTjCCAjagAwIBAgIQdMnAQ4BDAo9Lgfn+QeDdhjANBgkqhkiG9w0B # CIO gggNSMIIDTjCCAjagAwIBAgIQdMnAQ4BDAo9Lgfn+QeDdhjANBgkqhkiG9w0B  
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					# AQUFADAqMRMwEQYDVQQDDApOaWNrIENoYW5nMRMwEQYDVQQKDAplYXJpY2sub3Jn # AQUFADAqMRMwEQYDVQQDDApOaWNrIENoYW5nMRMwEQYDVQQKDAplYXJpY2sub3Jn  
			
		
	
		
		
			
				
					
					# MB4XDTIxMTAzMTEwMDI1MVoXDTIyMTAzMTEwMjI1MVowMzEiMCAGCSqGSIb3DQEJ # MB4XDTIxMTAzMTEwMDI1MVoXDTIyMTAzMTEwMjI1MVowMzEiMCAGCSqGSIb3DQEJ  
			
		
	
		
		
			
				
					
					# ARYTcGNuaWNrMTAwQGdtYWlsLmNvbTENMAsGA1UEAwwETmljazCCASIwDQYJKoZI # ARYTcGNuaWNrMTAwQGdtYWlsLmNvbTENMAsGA1UEAwwETmljazCCASIwDQYJKoZI  
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -169,11 +187,11 @@ exit 0; 
			
		
	
		
		
			
				
					
					# AgEBMD4wKjETMBEGA1UEAwwKTmljayBDaGFuZzETMBEGA1UECgwKZWFyaWNrLm9y # AgEBMD4wKjETMBEGA1UEAwwKTmljayBDaGFuZzETMBEGA1UECgwKZWFyaWNrLm9y  
			
		
	
		
		
			
				
					
					# ZwIQdMnAQ4BDAo9Lgfn+QeDdhjAJBgUrDgMCGgUAoHgwGAYKKwYBBAGCNwIBDDEK # ZwIQdMnAQ4BDAo9Lgfn+QeDdhjAJBgUrDgMCGgUAoHgwGAYKKwYBBAGCNwIBDDEK  
			
		
	
		
		
			
				
					
					# MAigAoAAoQKAADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3 # MAigAoAAoQKAADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3  
			
		
	
		
		
			
				
					
					# AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQU1FQyPec3rnbdh3xg  # AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQUHXjy5RD0ZBMCmQ+P   
			
				
				
			
		
	
		
		
			
				
					
					# UI1KxQR1VNowDQYJKoZIhvcNAQEBBQAEggEAFZhn/fCXLVeHwJbTknYoljeOmZXv  # NgKY+6wL0OYwDQYJKoZIhvcNAQEBBQAEggEAsBGnRtXBwIvUcUY1RxSLZZRVziE+   
			
				
				
			
		
	
		
		
			
				
					
					# bCbZTEV+uuhILGbjLyQC9/UTyqQC9OF3JmaDkO0RUgURnIKKEM4wHJKD5tl6tfGe  # ezXU4LASl87P/CLE+4mBZ5+XORU7Yxhz/m2VUpE+vwpct047OLSgZ0n+WcTSl8Iq   
			
				
				
			
		
	
		
		
			
				
					
					# oUG3zqbkDfQjCvHGHE6MzSB7TNZptpr66RvLA3caNt+U1dSgAAOU+A2qisuXsEwN  # p7ag+mwyKriRFz7iU3mb4VvS4xF7VZIAcIBhGUA5C90StqGxmX7iH0lQYhL9URu0   
			
				
				
			
		
	
		
		
			
				
					
					# hdkIP6YrpkbIYMfz+A413/I2OXD5SIJ9F8ER/iunJIUStxAGl/egvJa9KQJfcfeF  # evAy2wL01WyIInXGfXgbS/Zr40fmlUlt3kHugrzgNiCLKZyLo1598Bsdda0+dpMf   
			
				
				
			
		
	
		
		
			
				
					
					# BpSf7w5BCW9JCSul3SVqyi/gM7E0BcWlVWXGbpQyvfluD/fbCWxdmZYozewZ4LDI  # uobPwGbccM1w/40UYLh6LcIz+oVcH0PNncy63XBkqSKIrTNHgznoLCt8wnSLqfgq   
			
				
				
			
		
	
		
		
			
				
					
					# Z+goE2Bfwvnn1dkzwl48me4QIPHuFU4elB4t8di9qv7SLsMFp6Hm+IsIYA == # QZ+dgNGA+M8UvyFBLBxfUIvKfK8LAlmb8uHHHqGgw+dnZobDFvyNxgZrrg ==  
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					# SIG # End signature block # SIG # End signature block