import Ġjava . io . File ĊĊ Ċ /** Ċ Ġ* ĠãĤ¨ ãĥ³ãĥĪ ãĥª ãĥĿ ãĤ¤ãĥ³ ãĥĪ Ċ Ġ*/ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĊĠĠĠ Ġ// Ġ å¯¾è±¡ ãģ® ãĥĩãĤ£ ãĥ¬ ãĤ¯ãĥĪ ãĥª åĲį ãĤĴè¨Ńå®ļ ĊĠĠĠ Ġval Ġpath Ġ= Ġ""" D :\ work \ md """ ĊĊĠĠĠ Ġchange Directory ( path ) ĊĠĠĠ Ġchange Image Link ( path ) ĊĊĠĠĠ Ġchange FileName ( path ) ĊĠĠĠ Ġchange Image Link 2 ( path ) Ċ } Ċ Ċ /** Ċ Ġ* Ġ æķ°åŃĹ 4 æ¡ ģ ãģ® ãĥĩãĤ£ ãĥ¬ ãĤ¯ãĥĪ ãĥª åĲį ãģĭãĤī åħĪ éł Ń ãģ® æķ°åŃĹ 1 æ¡ ģ ãĤĴ åīĬéĻ¤ ãģĹ ãĢģ æķ°åŃĹ 3 æ¡ ģ ãģ® ãĥĩãĤ£ ãĥ¬ ãĤ¯ãĥĪ ãĥª åĲį ãģ« å¤īæĽ´ ãģĹãģ¾ãģĻ ãĢĤ Ċ Ġ*/ Ċ private Ġfun Ġchange Directory ( path : ĠString ) Ġ{ ĊĊĠĠĠ Ġval Ġreg Ġ= ĠRegex (""" 0 [ 0 - 9 ]{ 3 } """) ĊĊĠĠĠ ĠFile ( path ). walk Top Down () ĊĠĠĠĠĠĠĠ Ġ// Ġ æŃ£ è¦ı è¡¨ çı¾ ãģ« åĲĪ èĩ´ ãģĹãģŁ ãĥĩãĤ£ ãĥ¬ ãĤ¯ãĥĪ ãĥª åĲį ãģ® ãģ¿ æĬ½ åĩº ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . isDirectory ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġreg . matches ( it . name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ å¤īæĽ´ ãģĻãĤĭ ãĥĩãĤ£ ãĥ¬ ãĤ¯ãĥĪ ãĥª ï¼Ī File ãĤ¯ãĥ©ãĤ¹ ãģ§ ä½ľæĪĲ ï¼ī ãĤĴæĮĩå®ļ ãģĹ ãĢģ åĲįåīį ãĤĴ å¤īæĽ´ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . rename To ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠãĥķãĤ ¡ãĤ¤ãĥ« åĲį ãģ® éĻ¤ ãģı ãĥĳ ãĤ¹ åĲį ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . path . substring ( 0 , Ġit . path . length Ġ- Ġ 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠãĥķãĤ ¡ãĤ¤ãĥ« åĲį ãģĭãĤī åħĪ éł Ń 1 æĸĩåŃĹ ãĤĴ éĻ¤ ãģĦ ãģŁ ãĥķãĤ¡ãĤ¤ãĥ« åĲį ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . name . substring ( 1 , Ġit . name . length ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġ æķ°åŃĹ 3 æ¡ ģ ãģ® çĶ» åĥı ãĥķãĤ¡ãĤ¤ãĥ« åĲį ãģĭãĤī åħĪ éł Ń ãģ® æķ°åŃĹ 1 æ¡ ģ ãĤĴ åīĬéĻ¤ ãģĹ ãĢģ æķ°åŃĹ 2 æ¡ ģ ãģ® ãĥķãĤ¡ãĤ¤ãĥ« åĲį ãģ« å¤īæĽ´ ãģĹãģ¾ãģĻ ãĢĤ Ċ Ġ*/ Ċ fun Ġchange FileName ( path : ĠString ) Ġ{ ĊĊĠĠĠ ĠFile ( path ). walk Top Down () ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . isFile Ġ&& Ġ( it . extension Ġ== Ġ" png " Ġ|| Ġit . extension Ġ== Ġ" jpg ") Ġ} ĊĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . rename To ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . path . substring ( 0 , Ġit . path . length Ġ- Ġ 7 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . name . substring ( 1 , Ġit . name . length ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠMarkdown ãĥķãĤ¡ãĤ¤ãĥ« åĨħ ãģ® çĶ» åĥı ãĥª ãĥ³ ãĤ¯ ãģ® ãĥĳ ãĤ¹ ãĤĴ ä¿®æŃ£ ãģĹãģ¾ãģĻ ãĢĤ Ċ Ġ*/ Ċ private Ġfun Ġchange Image Link ( path : ĠString ) Ġ{ ĊĊĠĠĠ Ġval Ġreg Image Link Ġ= ĠRegex (""" !\ [ .* ]\ ( img /[ 0 - 9 ]{ 4 }/ [ 0 - 9 ]{ 3 }. ( jpg | png )\ ) """) ĊĠĠĠ Ġval Ġreg Change Dir Name Ġ= ĠRegex (""" /[ 0 - 9 ]{ 4 }/ """) ĊĊĠĠĠ Ġval Ġtarget Files Ġ= ĠFile ( path ). walk Top Down () ĊĠĠĠĠĠĠĠ Ġ// Ġæĭ ¡ å¼ µ åŃĲ ãģĮ md ãģ® ãĥķãĤ¡ãĤ¤ãĥ« ãĤĴ æĬ½ åĩº ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . isFile Ġ&& Ġit . extension Ġ== Ġ" md " Ġ} ĊĊĠĠĠ Ġval Ġwrite Lines Ġ= Ġmutable ListOf < String >() ĊĠĠĠ Ġfor Ġ( file Ġin Ġtarget Files ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwrite Lines . clear () ĊĊĠĠĠĠĠĠĠ Ġ// Ġ 1 è¡Į ãģļ ãģ¤ ãĥ«ãĥ¼ãĥĹ ĊĠĠĠĠĠĠĠ Ġfile . forEach Line Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æŃ£ è¦ı è¡¨ çı¾ ãģ§ éĥ¨åĪĨ ä¸Ģèĩ´ ãģĻãĤĭ åł´åĲĪ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( reg Image Link . contains Match In ( it )) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ å¿ħ ãģļ 1 ä»¶ ãģ® ãģ¿ åŃĺåľ¨ ãģĻãĤĭ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġreg Change Dir Name . findAll ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. elementAt ( 0 ). value ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġit . replace ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"/" Ġ+ Ġresult . substring ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Lines . add ( text ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Lines . add ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfile . write Text ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Lines . join ToString ( System . getProperty (" line . separator ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ ĠSystem . getProperty (" line . separator ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠMarkdown ãĥķãĤ¡ãĤ¤ãĥ« åĨħ ãģ® çĶ» åĥı ãĥª ãĥ³ ãĤ¯ ãģ® ãĥĳ ãĤ¹ ãĤĴ ä¿®æŃ£ ãģĹãģ¾ãģĻ ãĢĤ Ċ Ġ*/ Ċ fun Ġchange Image Link 2 ( path : ĠString ) Ġ{ ĊĊĠĠĠ Ġval Ġreg Image Link Ġ= ĠRegex (""" !\ [ .* ]\ ( img /[ 0 - 9 ]{ 3 }/ [ 0 - 9 ]{ 3 }. ( jpg | png )\ ) """) ĊĠĠĠ Ġval Ġreg Change Dir Name Ġ= ĠRegex (""" /[ 0 - 9 ]{ 3 }\ . """) ĊĊĠĠĠ Ġval Ġtarget Files Ġ= ĠFile ( path ). walk Top Down () ĊĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . isFile Ġ&& Ġit . extension Ġ== Ġ" md " Ġ} ĊĊĠĠĠ Ġval Ġwrite Lines Ġ= Ġmutable ListOf < String >() ĊĠĠĠ Ġfor Ġ( file Ġin Ġtarget Files ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwrite Lines . clear () ĊĊĠĠĠĠĠĠĠ Ġfile . forEach Line Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æŃ£ è¦ı è¡¨ çı¾ ãģ§ éĥ¨åĪĨ ä¸Ģèĩ´ ãģĻãĤĭ åł´åĲĪ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( reg Image Link . contains Match In ( it )) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ å¿ħ ãģļ 1 ä»¶ ãģ® ãģ¿ åŃĺåľ¨ ãģĻãĤĭ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġreg Change Dir Name . findAll ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. elementAt ( 0 ). value ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġit . replace ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"/" Ġ+ Ġresult . substring ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Lines . add ( text ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Lines . add ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfile . write Text ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Lines . join ToString ( System . getProperty (" line . separator ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ ĠSystem . getProperty (" line . separator ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ