批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[原创代码] powershell根据内容重命名bt torrent文件

有时候下载torrent种子文件,名字无意义,所以可以用ps脚本处理一下,重命名为正确的名字,代码如下,需要设置种子文件所在文件夹
  1.    
  2.   $Path ="D:\"
  3.   $Filter = '*.torrent'
  4. $ar = New-Object -TypeName System.Collections.ArrayList
  5. function processing_grep(  $file ){
  6.   
  7.       #write-host "file_name=" $file
  8.   
  9.     $tmpContent = Get-Content -Encoding utf8  $file
  10.       $movie_name_full=""
  11.   
  12.     for ($i=0; $i -le $tmpContent.length; $i++)
  13.     {
  14.         if($tmpContent[$i] -match "name\d+:(.*?):name") #   "name\d+:(.*?):name" 
  15.          {
  16.           #write-host ""
  17.                 $movie_name_full=$matches[1]
  18.                 #write-host "------------------------------------------------------------------------------"
  19.           #write-host $file : " $i " :
  20.           #write-host $file " : " $i " : " $tmpContent[$i] -ForegroundColor yellow -background black
  21.                 ###write-host "$spaces-- movie_name_regex = $matches[0] "
  22.                 write-host "$spaces-- movie_name_full  = $movie_name_full "
  23.     if($ar.Contains($movie_name_full)) {
  24.                 ###write-host "$spaces-- 含有重复复名字:$movie_name_full "  -ForegroundColor red -background black
  25.                     ###"$file , movie_name = $movie_name_full" | Out-File -Append "repeat_torrent.txt"
  26.             } else {
  27.                     ###write-host "$spaces-- 添加元素: $movie_name_full "    -ForegroundColor green
  28.                     ###$ar.Add($movie_name_full)
  29. ###mv -path "$file" -dest "$movie_name_full.torrent"
  30.             }
  31.                 #write-host "$spaces------------------------------------------------------------------------------"
  32.                 $found = 1
  33. break
  34.          } elseif($tmpContent[$i] -match "name.utf.*?:(.*?)12:piece") {
  35.           #write-host ""
  36.                 $movie_name_full=$matches[1]
  37.                 #write-host "------------------------------------------------------------------------------"
  38.           #write-host $file : " $i " :
  39.           #write-host $file " : " $i " : " $tmpContent[$i] -ForegroundColor yellow -background black
  40.                 ###write-host "$spaces-- movie_name_regex = $matches[0] "
  41.                 write-host "$spaces-- movie_name_full  = $movie_name_full "
  42.     if($ar.Contains($movie_name_full)) {
  43.                 ###write-host "$spaces-- 含有重复复名字:$movie_name_full "  -ForegroundColor red -background black
  44.                     ###"$file , movie_name = $movie_name_full" | Out-File -Append "repeat_torrent.txt"
  45.             } else {
  46.                     ###write-host "$spaces-- 添加元素: $movie_name_full "    -ForegroundColor green
  47.                     ###$ar.Add($movie_name_full)
  48. ###mv -path "$file" -dest "$movie_name_full.torrent"
  49.             }
  50.                 #write-host "$spaces------------------------------------------------------------------------------"
  51.                 $found = 1
  52. break
  53.          } elseif($tmpContent[$i] -match "name\d+:(.*?)piece:") {
  54.           #write-host ""
  55.                 $movie_name_full=$matches[1]
  56.                 #write-host "------------------------------------------------------------------------------"
  57.           #write-host $file : " $i " :
  58.           #write-host $file " : " $i " : " $tmpContent[$i] -ForegroundColor yellow -background black
  59.                 ###write-host "$spaces-- movie_name_regex = $matches[0] "
  60.                 write-host "$spaces-- movie_name_full  = $movie_name_full "
  61.     if($ar.Contains($movie_name_full)) {
  62.                 ###write-host "$spaces-- 含有重复复名字:$movie_name_full "  -ForegroundColor red -background black
  63.                     ###"$file , movie_name = $movie_name_full" | Out-File -Append "repeat_torrent.txt"
  64.             } else {
  65.                     ###write-host "$spaces-- 添加元素: $movie_name_full "    -ForegroundColor green
  66.                     ###$ar.Add($movie_name_full)
  67. ###mv -path "$file" -dest "$movie_name_full.torrent"
  68.             }
  69.                 #write-host "$spaces------------------------------------------------------------------------------"
  70.                 $found = 1
  71. break
  72.              } else {
  73.                 continue
  74.                 write-host "222------------------------------------------------------------------------------"
  75.           write-host $file : " 资源名称找不到,请检查正则表达式是否遗漏。 " :  -ForegroundColor red -background black
  76.     cmd /c "pause"
  77. #exit
  78. }
  79.              #cmd /c "pause"
  80.      }#for
  81.   }
  82.   
  83. ,@(Get-ChildItem  -Attributes A -path $Path -Filter $Filter -Recurse | ?{$_.PsIsContainer -eq $false}| %{ processing_grep (escape_path_special_char_to____string_for_get_childitem ($_.FullName) )} )
复制代码
1

评分人数

提示: 作者被禁止或删除 内容自动屏蔽

TOP

返回列表