-
Notifications
You must be signed in to change notification settings - Fork 0
/
split_book.bat
39 lines (29 loc) · 730 Bytes
/
split_book.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<# batch file posh loader
@cls
@echo off
powershell.exe -command "start powershell -ArgumentList ""-command """"""iex ([System.IO.File]::ReadAllText('%0'))"""""""""""
goto :EOF
#>
if(test-path('./parts')) { rd -Force -Recurse './parts' }
md './parts' > $nul
$index = 0
$file = './parts/0.md'
$text = @{}
echo '>>>>> Step 1/2. Splitting...'
get-content "./hpmor_ru.md" |
foreach {
if($_.StartsWith('#')) {
$index += 1
$file = './parts/' + $index + ' - ' + $_.Trim('#', ' ') + '.md'
$file = $file.Replace(':', ' - ')
$_
}
$text[$file] = $text[$file] + $_ + "`r`n"
}
echo '>>>>> Step 2/2. Writing...'
$text.GetEnumerator() |
foreach {
$_.Key
$text[$_.Key].Trim() | Out-File -Encoding "UTF8" $_.Key
}
read-host