主题
K币
注册时间2020-3-24
在线时间 小时
最后登录1970-1-1
|
这是我的自习笔记。 3 o; S t3 y# p) ^
9 u* K5 P: y! f( Q' r
为了优化整理UHD BD片源,最近,我让天龙功放8500H,歇了几周。 ) k! R9 d( H E" z7 c5 m
5 R# T5 K0 h7 g. @+ {" y# V
PC中的文档、照片、影视资料、理财资料等、都得搞好文档管理!事半功倍的方案,就是编程,用程序去自动接管...
' y: \& S! y" R+ J( {- l我不是软件设计的高手,但爱折腾。 也能顺道练练:DIY编程, 实现家庭影院自动化!
2 C1 F, A' h5 [# }: D$ s* p# f% I8 e5 Y& ?# B
如果,看了本篇(以及前期连载篇)中的、各种GIF动画演示,就会觉得,特别有意思!' b2 U+ ]) @7 e d% Q5 y, L' v$ r
PC软件的处理效率、速度,能帮大忙!反正都是:心旷神怡、一劳永逸的好事,足够今后(长时间)享用的了。 / n4 k: {) n- F
9 ?& T% V2 g6 g$ Z那就继续加码,潜心钻研,分批实现:三个计划。戏称“三板斧”。 & T. [, Q- O. ~) g
" ]; J) v9 m s0 b, U# M" ` 6 c# b- |, C7 ^ X s9 V& v
, [. s! b- @. X! V3 H: N$ \; U2 B“第一板斧”劈下去,立竿见影。已发帖介绍:
/ X* ^2 [( X' W6 [+ p8 E0 |& K' l
3 ]6 d) w y6 w! n2 e1 Z: ^ % e% B% E3 }9 m" x# t
10篇连载:《Yuran DIY制定硬盘(UHD-BD)片源存储管理规范_优化整编片源的心得_概念性指导》!9 V* E+ i, T3 a* w I
. F$ Y8 S9 g Y# t, j
实现了以下几个功能:# [# T: Z9 j, F- \1 Z* |/ k
2 z0 l; P6 n( E+ |: o
- 1.将数TB硬盘中的、百千级别的UHD BD片源,自动检查文件夹名(排除各类隐患)!
2 K! a( G# Y4 G X/ E! v% z0 d (前期连载篇中,有相关GIF动画演示)。
1 X6 v" d, t, V0 R; Z
* o j" j, H4 g; R W$ g- 2. 对每个文件夹,做更名的优化处理(自动添加中文片名, 整齐划一、规范化存档)。
% n6 z. d# R/ p) x# \ $ q5 @6 ~4 l. x+ r- a, u2 Y9 y3 b
下面这2个GIF动画/演示,是Yuran最新补充的!
) Y {* `4 s; V; T8 {
2 g& J6 G/ g/ B" TYuran将92个片源,故意弄乱(全都变成:风马牛不相及的文件夹名)。/ Y# D* k% k3 Z/ S8 ~; c2 U& g% N# E
一旦使用DIY编程的软件,就能根据不同的、movie.nfo数据,自动生成列表文件(给出92个文件夹的更名建议)。6 Y3 U6 b& g- i( `/ u8 g7 t
' Y" m( A! ~5 l3 Y4 s
2 V2 }* U' j# Q" T( k
, s! Z1 s, ~' V2 r
随后,92个文件夹,瞬间更名(还原英文片名,增补中文片名,添加发行年代);风驰电掣般的感觉!
! X( }5 ?1 z4 X/ {( C
" B$ [- G" W: z, K/ Y6 i7 X
/ W: q" X, W) Z* c9 }0 s
; `( t. ^& `& e1 i1 h: ]- 3.自动甄别:音视频的规格!并提供列表文件,给出参考建议。
5 ]/ \* }) H+ s6 s8 U1 `% i7 ? (前期连载篇中,有相关GIF动画演示)。5 r. A) \/ q3 Z# F" G
$ e0 e, `8 x9 v; Y( y7 @
- 4. 最终, 将集中在下载目录中的、成百上千的片源,全部(自动)进行、分类存放。* c0 y3 d L: l) q: g, n
(前期连载篇中,有相关GIF动画演示)。# U3 g4 e& b# f) X* e
) A4 l/ K3 R+ b. y0 w/ D
上面的这些,只是Yuran的规划中,稳准狠的、"第一板斧"。 F! V. M# l: c* [
) y9 v! m, C6 o& N8 Y $ t) k& `7 p4 s) b" G
/ q& G, G1 V m6 Z4 d1 C8 r
那"第二板斧"呢?! % ?4 s' y6 k5 e, C5 q1 P& L8 F% }: V
正在酝酿, 恰好,借助于微软的推介,Yuran觉得:豁然开朗。现如今,也做概念性的介绍,抛砖引玉。
6 h7 p# a( q- T, F' p# H8 `$ E% V( m: L* d1 Z1 u
那些8TB、10TB的硬盘,存入大量的UHD BD片源后,肯定会,剩下一小部分(鸡肋)空间。1 Z* v/ `! }. R8 w! i
举例:我这里,某硬盘,尚余65GB 。若再想拷贝87GB的电影片源,空间不够。
; t% {8 _. N& s. X) q难道就听之任之,浪费掉?! . G7 L4 T: r7 ~: o- k9 `
3 I/ ?0 D1 m6 L# P* y
Yuran的想法,从别的硬盘中、或从(PC)新下载的目录中,寻找:小于65GB的片源,再挪过来,正刚好!+ B) J6 \) h# [1 G* C
也有别的套数,先劝退一个“胖子”,再请来两个“瘦子”
& n" T8 y0 D; U7 Q2 O(实际也试过,优化组合嘛。
4 c$ y2 S: _' C# `- C6 `4 t% B( ?6 z举例:原先硬盘,尚余60GB。再挪走某个、85GB电影,可用空间,就变成:145GB,
8 r, `" b! Y1 c0 ^再将两个70GB左右的片源,拷贝进来。最终的结果:物尽其用! )
" y9 w' n2 A7 r& }5 w/ u* b2 m( l
" a- F4 x; b- K6 o, ~9 k9 r4 f6 m能不能,再狠一点,尽量压榨硬盘空间?比如,让硬盘,仅剩几百兆,甚至更低(能存放字幕就行)?!
7 N' U. V- v z( ]) f这些工作,若由人工来做,也行,就是累! 用肉眼去核查,哪些影碟的目录,够用。还得计算...0 W7 e3 b. n( M
5 a; s; l3 u5 g8 @" A. C

- L! ?: Q& _1 V7 A- z. ~: }3 U1 M" e% X( p; ^* @$ m: Q
但凡人工干过的事情,不妨尝试,编程做出程序,用电脑替代人脑,提高效率。, i: w. \" {) G5 m! j* k5 P
要不然,就试着编一个程序吧。让实用软件,自动去检索、统计、比较、计算 ...
0 E6 ^/ K0 F1 C$ o6 ~
4 l- b7 \- N1 o) k0 h$ B+ L* k4 d这就是,"第二板斧"的规划。
: B' ~% `# D! W! h- B! F
# c# x; z7 U; N1 ?! |' Q; x从概念、理论上来说, 必须构建两个软件模组!
% d0 o% z* P7 f* m5 w- t& X2 Y. r3 _$ M
- 1. 能计算出:当前硬盘分区的、剩余空间量。
- 2. 能报出:某个影碟文件夹的、属下全部文件的、占用空间量。+ l S* _3 Q" Z' ?9 v8 j
o% |$ b, w& {4 x: h. B5 x; u6 {
第一个模组,不难实现。
. j' l' z! r$ _4 H4 @( v9 I+ K1 g2 G& ^) Y& h" V
; Z5 X# u \4 w! z, X4 A8 ]; p0 f8 [) B4 K- [: P
有四种思路(还是那句话:若有现成的程序,就直接套用。不必DIY编程了。):5 i5 B5 @/ e h) `( Q! s& c
1 m* U3 J$ ^, U; }% D2 jI. DIR 模式:随便编个批处理。
+ d! A7 {# A( A5 ~3 H8 ]3 ]* f3 F; K4 ?
8 W* v( @, X0 I! _4 C$ }0 C7 B ? H& f
建议大家,多学学编程。我也不是程序员,但热衷于玩这类:家庭小型自动化,乐此不彼!搞得越高深,效率就越高。干脆,直接单行输出!6 @" {! v7 J0 Y, o" i2 q! r
3 e2 R: ?6 }" J+ Q; I
$ K# m- r7 u6 u$ C k$ k# L# e8 L7 Y) S6 Q X; C3 P3 X
II. FSUTIL 模式:也是Windows 10 自带的、实用工具(但需要:管理员的权限)。
( h! d/ g2 F/ J, \/ `, `1 M0 ]$ B$ X/ ~/ V7 [4 P x
( X6 K, ?! m1 I& H0 }# [, n& B6 y. s1 Q$ u3 ]; Z: `1 K
III. WMIC 模式:
) f' ~& y+ ?, \
X, k& e3 A" N$ |我在前期连载篇中,就讲过:这个新奇的、微软内置的实用工具。9 S0 l. J1 P! v5 j2 X
5 m$ D1 u6 I5 n" c4 N7 |
- v% c/ f$ p- C7 W' p
+ W8 K$ K) K }' D4 U这回,将参数,替换成 Freespace,就能立即得到:硬盘的剩余空间量!
5 w, X8 g. A. t: T3 W
; P" c% ]6 Z) v) E+ u) t, B5 g4 {IV. PSINFO 模式:- j# [* m/ A+ K- A
8 t- q/ q& R w; h& C9 X
第三方的实用工具,需下载。
3 h4 K7 p0 y9 ^% r" n/ V x: G8 ~ q4 I! a/ H
& J0 k3 v! r* ]8 }9 z
$ P6 i8 c1 r# @; m/ d根据自己的偏好,自由选择吧。
7 b9 \2 i9 ~, ~, }! K0 J' y5 @5 ?, J1 X, ]) \
0 D7 ^: {; q7 k1 l, o0 T5 h
: h* o8 m0 C2 t3 P% c
第二个软件模组,需要直观地给出:某指定(影碟)文件夹的、涉及全部文件的、占用空间量。3 n5 S" N7 l+ s
; C0 i( c! ?! Y. m5 ?
海外网友的沟通中,都谈起 DU (Disk Usage),这个第三方程序。3 [* \* i2 A' [1 o8 d
/ a. ^" w$ c, I2 f
5 \+ o+ L4 O' M4 k- v! s, v
8 n! e% S6 ]) v# o正好刚看到,微软Windows10的系统更新,也主动向用户推荐, DU!
- R1 S1 U+ \3 U- q
" J3 g# t2 V$ U( j" U% A
. u, k8 R. H2 T( @1 r) |8 G4 ~0 r; c3 J
微软都将其收购,加入Windows10 的更新中。可见,这个DU ,非常棒!7 [$ s V( @7 `: U d: X+ c
微软官网/下载信息: https://docs.microsoft.com/zh-cn/sysinternals/downloads/du2 l# t/ L M! o8 v
4 O6 a# B, ?- V5 |; V# N去搜寻 微软 diskusage 就能查到,相关的新闻。 [5 G6 |: O8 C K: E2 |
2 }+ b" H; _, j

. B$ ^5 \$ }8 W: L9 x- p. }2 a% y, R* ]* v. y* ~9 K0 r% r5 z* ~ ~
我这里,立即下载DU,随后拷贝到: c:\windows\system32 文件夹中。
. B" C( l7 z( H8 C4 e5 N弄了几个"假想敌",立即编程、实验。果不其然:召之即来、来之能战... ) p% S$ x/ ]8 U; t+ F* ?- N+ ]$ r* s
: {" c( L. b1 \. H$ p/ n3 ?
0 ~; x& u: c9 r; y4 c, t5 _. ?- {% w' s
虽然,我本人,也能设计出:累加计算文件夹内、所有文件大小的软件模块。1 |2 N* }8 E1 v+ N8 o' Y7 R$ ?5 l
但毕竟:DU 是微软推荐的,不久的将来,Win10新的升级补丁中,就直接放到系统中了。* R1 X# q* g, \
DU的效率很高,针对各个待选的文件夹,都能立即报出:实际的空间/大小。
& G; z+ Y& V/ T$ u; J
U1 b( L3 B$ z0 P$ S
/ K/ z6 L3 g& Q' m- i
# v) f4 ^# Y% N4 j5 G6 Z后续的流程。Yuran的思路:剔除超标的(片源目录,占用空间太大,超过硬盘的可用空间)。% P9 [3 f* Q2 d x, U" T% p
% ^! p4 N6 a* V- H/ l6 L
再从合适的文件夹中,"择优录取"(尽可能地、接近于:硬盘的可用空间)
2 R q8 f: E: w: M4 e但是,数据对比时,有点麻烦。 : }) E0 `. f: @7 v; @% `
/ c: i, ^0 f: @
硬盘的空间,按目前的惯例、以字节为单位。TB级别的数值,非常之大。
' y' O5 `3 \* O3 b不仅编程困难,也有隐患(得留有余量,适应将来的、更大的硬盘)。; f: C8 \' h# i U' ]. |
8 z! g% u5 r9 }& _7 Q32位的最大值 2,147,483,647 ,换算成二进制0111 1111 1111 1111 1111 1111 1111 1111 , q4 h0 y- l0 b, W g3 v
3 r R# u# B# j& [4 Y) ^5 M(有效位数31,而最前面的位,描述正负的标志位)。 用这个来表述硬盘空间, 也就2GB 左右。
4 \3 e3 ?7 @7 V' s0 s
& {5 o { k% ~ q6 @ $ ?8 G7 c8 B5 @+ ~3 g
, G2 e" N. o) r) G+ l$ ^而TB级别的硬盘,比如 1.8TB左右的硬盘,字节数,是 1,982,584,098,816 ,换算成二进制:) g5 h' R0 M' C/ G1 p4 b, p
0 c! ~# a9 S. O
1 1100 1101 1001 1011 0011 1000 1001 0000 0000 0000
2 d6 @$ p! h1 e4 q2 A4 Q) W% A. h/ |& S3 ], w4 [; ?! u
41位了。 + {8 f# z: c4 J3 _
) m8 G/ B ~$ J

/ X6 t" M8 p/ d x' t! l5 V# P! j* p# \/ e ` e
为避免数据对比时,留下隐患。Yuran决定,不考虑:数据的直接对比。: ?# o+ x( w/ @
改从字符串中,按 TB、GB、MB、KB的等级,分别摘取,再分别比较。9 I' F- @, d1 ]. m- c& K
% f+ Q% v& U& f0 g) t/ N- n1 是TB级别 (十进制的3位, 最大999);
- n2是GB级别 (十进制的3位, 最大999);
- n3是MB级别 (十进制的3位, 最大999);
- n4是KB级别 (十进制的3位, 最大999);
- n5是字节级别(十进制的3位, 最大999);
* Y; A0 L+ N; } 2 V/ z3 G1 Z- z4 P, y
像上面提及的、1.8TB 的硬盘,用 n1=1;n2=982;n3=584;n4=098;n5=816 来分别代表。
2 y2 a- a6 H, \7 d h. a与其它硬盘比对时,都先拆分。
( s) i( g3 j$ w7 z- x+ D/ h6 K6 I7 X9 c/ n1 e
- 硬盘的可用空间,用y1、y2、y3、y4、y5来表述;
- 待选目录的占用空间,用c1、c2、c3、c4、c5表达。
! X' @0 s; r* Z U7 l6 V9 J/ E& I! @
从先从高位(c1) 比较,0 }5 I9 d' m9 |4 ^
9 F$ j8 y9 M/ i8 T Y7 _# b- 若c1 >y1,直接判定超标(忽略低位的比较);
- 若c1 <y1,直接判定合格(忽略低位的比较);
- 若c1 =y1,不做判定,转交给:下一级的流程(用c2去比较y2)...
' _9 w- `: y( a h 0 K' ~2 B" }7 y3 i* ]; Q
就这样,按优先级来判断。让软件,在相关变量的Flag,上做标记。程序就能综合判断:给出(比较)结果。2 k, D# \: w; J. H+ g( ]
编程后,实战测试,切实可行。
' A+ R+ q0 O2 s3 n" y
6 y% F0 }! \; f
$ S: ^7 ^2 q0 B k9 `
7 O* y8 J5 m" \4 M精心准备的、四个“假想敌”,最终被判定: 一个超标,三个合格。达到预期效果!' x L* r* |8 k
除了屏显之外,又生成一个列表文件,将待选者,罗列出来(文件夹的size,都没超过:硬盘可用空间):6 G4 ?1 W# a7 b5 R6 ?! e7 v( w
0 T c3 I4 y' R. \- n
' r/ O3 w. R$ E8 r; |' m2 _5 v
/ z6 |4 ~, [# k; V& l也有拓展的空间:即使是 999TB的硬盘,我设计的程序,也能比对!(无非就是,y1=999, c1=999...)
- q1 `: a6 V+ O( C1 P- {& C9 q, k! p' V9 b" e0 n: A

2 W; H+ r* Y p; @: Z& Q
+ i2 X* \( |* s/ H8 v: Z后续工作,Yuran需要设计的(软件)流程,就是排序! . k1 n! j1 V |8 k8 w. n. C
在待选文件夹中,逐一比对,找出那个:与硬盘可用空间,最相近的那个(就能最大限度地、压榨硬盘空间了)。
1 A; [( Z! v: N
3 o2 A; O* \) N! }6 s! B如果,排序比对的实验,设计成功。那就给出一个列表文件,存入(待选)优胜者的文件夹名。2 ]2 I% p% a5 _, P4 d/ x
甚至还可以:安排 MOVE 的指令,直接操作:将待选的文件夹,整体挪到:被压榨的那个硬盘中。
( o3 _* V5 [8 h" T5 P: W* q1 n: p毕竟是:影视资料盘,不必预留空间。
0 q$ w! f/ w) T; x Y% O
6 V6 v" K6 i' M: v/ S7 @良好的开始,是成功的一半(先到这里,正在编写后续流程的脚本、再逐级测试...)
; @/ i+ f2 _/ U6 G5 y |
|