[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 WHY 于 2018-11-12 11:25 编辑

分两个脚本,第一个脚本 test.bat,第二个脚本 test.ps1,
两个脚本存放于 E:\duanwenxue 目录下。
双击 test.bat 运行。
Test.bat
  1. @echo off
  2. PowerShell -exec ByPass -f Test.ps1
  3. pause
复制代码
Test.ps1
  1. $reg = '(?i)<div class="(?:sigle-)?breadcrumb">当前位置:\s*<a href=''/''>短篇原创文学</a>>.*<a href=''/([^'']+)/''>[^<>]*</a>';
  2. $MyPath = $MyInvocation.MyCommand.Path -replace '[^\\]+$';
  3. ForEach ($file In (dir -Literal $MyPath -Filter *.html -Recurse)) {
  4.     $s = [IO.File]::ReadAllText($file.FullName, [Text.Encoding]::Default);
  5.     $m = [regex]::Matches($s, $reg);
  6.     $arr = @($m | %{$_.Groups[1].Value});
  7.     If ($arr.Count -ne 1) { continue; }
  8.     $fd = $MyPath + ($arr[0] -replace '/', '\');
  9.     If ($file.FullName -NotLike ($fd + '\*')) {
  10.         If (!(Test-Path -Literal $fd)) { $null = md $fd; }
  11.         move -Literal $file.FullName -Dest $fd -Force;
  12.     }
  13. }
复制代码
看了下,短文周刊 网页不太一样,多了个 “sigle-”。
1

评分人数

TOP

回复 3# lxh623


    请举例说明:有些二级不是“经典语句”

TOP

回复 3# lxh623


    2楼 Test.ps1 第一行改成:
  1. $reg = '(?i)<div class="breadcrumb">当前位置:<a href=''/''>短篇原创文学</a>><a href=''/[^'']+''>[^<>]*</a>><a href=''(/[^'']+)''>[^<>]*</a>>';
复制代码
试下。

TOP

回复 8# lxh623


    你这与顶楼描述的自相矛盾:
(比如E:\duanwenxue\yuju\yulu\新建文件夹,或者任何名称的三级或四级子文件夹)下面,就不动


2楼改了下。

TOP

返回列表