èªäœã®ã³ãã³ãã¬ãããäœã
Windows PowerShellã§ã¯ã.Net FrameworkãšC#ãªã©ã®éçºç°å¢ãçšããŠæ¬æ Œçãªã³ãã³ãã¬ãããéçºã§ããŸããããã£ãšæè»œãªã³ãã³ãã¬ããã®äœææ¹æ³ãšããŠã颿°(function)ãšã¹ã¯ãªãããã¡ã€ã«ããããŸããæ±çšæ§ã®é«ãåŠçãé »ç¹ã«å®è¡ããå®ååŠçãªã©ã¯ãèªäœã³ãã³ãã¬ããã«ãããšããã§ããããä»åã¯ããŸã颿°ãã玹ä»ããŸãã
颿°ã®å®çŸ©
PowerShellã«ããäžé£ã®åŠç(ããã°ã©ã )ã«ååãã€ããŠãã³ãã³ãã¬ããã®ããã«äœ¿ããããã«ããã®ã颿°ã§ããåºæ¬çãªå®çŸ©æžåŒã¯ä»¥äžã®ããã«ãªããŸãã
function 颿°å {
(åŠç)
return è¿å€
}
èšè¿°ãããšãå¿ ãããæ¹è¡ãããã€ã³ãã³ã(åäžã)ãã€ããå¿ èŠã¯ãããŸããããããããã¹ã¿ã€ã«ã§èšè¿°ããæ¹ãããã°ã©ã ã®æ§é ãèŠããããããã°ã©ãã³ã°ãã¹ã鲿¢ã§ããŸãããã£ãšããæ°ã¯ãŒã以äžã§èšè¿°ã§ãããããªçãå 容ã®é¢æ°ã§ã¯ãæ¹è¡ããã«ä»¥äžã®ããã«1è¡ã«ãŸãšããæ¹ãç°¡æœã§æçãªå ŽåããããŸãã
function 颿°å {(åŠç);ãreturn è¿å€ }
PowerShellã®å Žåã1æã®æ«å°Ÿã«ã¯ã»ãã³ãã³ã;ãã䜿çšããŸãã1è¡ã«è€æ°ã®æãèšè¿°ããå Žåã«ã¯ã;ãã§åºåããªããã°ãªããŸãããäžæ¹ãæã®æ«å°Ÿãæ¹è¡ã®å Žåãæãå®å šãªç¶æ ã§ããã°æ¹è¡ãã;ããšåæ§ã«ææ«èšå·ãšããŠæ±ããŸããããããæãäžå®å šã§ããã°ãæ¹è¡ã空çœãšåãåãªãåèªåºåããšããŠæ±ããæ¬¡ã®è¡ã«ç¶ããŸãã
returnã¯ããã°ã©ã ã®çµäºç¹ãæå³ããŸãã颿°ã®éäžã«returnãããã°ãããã§åŠçãçµäºããŸãããŸã颿°ã®åŠççµæãããã®é¢æ°ãåŒã³åºããããã°ã©ã (PowerShellãŸãã¯ä»ã®é¢æ°)ã«è¿ããšãã¯ãè¿å€(ãããã¡)ãæå®ããŸããè¿å€äžèŠã§çµäºç¹ãæç€ºããå¿ èŠããªãå Žåã¯ãreturnãçç¥ã§ããŸãã
颿°ã«å ¥åå€ãå¿ èŠãªãšãã¯ãé ååã®èªå倿°$argsã䜿çšããŸãã颿°ã«å ¥åããããã®å€æ°ãåŒæ°(ã²ããã)ãšåŒã³ãæåã®åŒæ°ã¯$args[0]ã2çªç®ã®åŒæ°ã¯$args[1]...ãšããããã«ã€ã³ããã¯ã¹çªå·ãã€ããŠåç §ããŸããPowerShellã³ãã³ãããã³ããã§é¢æ°ãå®è¡ãããšããããã³ããã«èšè¿°ãããã©ã¡ãŒã¿ãåŒæ°ãšãªããŸãããããã³ãã³ãã®%1ã%2ã%3...ã«çžåœãããšèãããšããã§ãããã
â» é åãšã¯ãåãååã®å€æ°ãã»ããã«ããŠãã€ã³ããã¯ã¹çªå·ã§åºå¥ããªããæ±ãææ³ã§ãã
â» PowerShell颿°ã§ã¯ãä»ã«ãã€ãã©ã€ã³ããã®å ¥åã䜿çšããããã®èªå倿°$inputããããŸãããŸããåŒæ°ã®æ°ãåãåºå®ããããšãã¯ãèªå倿°$argsã䜿çšããã®ã§ã¯ãªããfunction name ([int]$num1, [string]$mes )ã®ããã«æå®ããŠåŒæ°åãšåãæèšããããšãã§ããŸããä»åŸã®èšäºã§ç޹ä»ããŸãã
åçŽãªé¢æ°
颿°ã®åããèŠãããã«ãå®éã«åçŽãªé¢æ°ãäœæããŸãããã颿°ã«æž¡ãã2ã€ã®ãã©ã¡ãŒã¿ãè¶³ãç®ããŠè¡šç€ºãã颿°ãtestãäœæããŸãã
function test
{
$args[0] + $arg[1]
}
![]() |
|
testãšããååã®é¢æ°ãå®çŸ©ã |
1è¡ç®ãå ¥åããåŸã«ããã³ãããã>>ãã«ä»£ãããŸãããããã¯åè¡ã®ç¶ãã§ããããšãæå³ããŸããããã°ã©ã ã®æåŸã®è¡ãå ¥åããåŸãããäžåºŠEnterããŒãæŒããšãããã³ããã«æ»ããŸãã
ãã®çšåºŠã®çã颿°ã§ããã°ã以äžã®ããã«1è¡ã§èšè¿°ããŠãããŸããŸããã
function test { $args[0] + $args[1] }
testãå®è¡ããŠã¿ãŸãããã
![]() |
|
testã®å®è¡ãéåžžã®ã³ãã³ãã¬ããã®ããã«å®è¡ã§ããŸãã |
â» PowerShellã§ã¯ãä»£å ¥å ããªãåŒã§å€æ°ãæååãèšè¿°ãããšãåŒã®å€ã衚瀺ããŸããã¡ãã»ãŒãžè¡šç€ºã®ããã«ãæç€ºçã«è¡šç€ºããããã®ã¹ããŒãã¡ã³ãã颿°ãèšè¿°ããå¿ èŠã¯ãããŸããã
è¿œèš : ä»åã®èšäºã®ããã°ã©ã ã§ã衚瀺ããšããŠèª¬æããåºåã¯ãå³å¯ã«èšãã°ãã€ãã©ã€ã³åºåã§ããã颿°ã®è¿å€ã§ãããªãã€ã¬ã¯ãããªããã°ç»é¢ã«è¡šç€ºããŸãããå³å¯ãªæå³ã§"衚瀺"ããããã«ã¯Write-Hostã³ãã³ãã¬ãããªã©ã䜿ããŸãããã€ãã©ã€ã³ãšè¡šç€ºã®äœ¿ãåãã«ã€ããŠã¯ããã€ãã©ã€ã³å ¥åãšåãããŠåŸã®æ©äŒã«èª¬æããããšæããŸãã
åŒæ°ã®æ°
åŒæ°ã®æ°ã¯$argsã®ããããã£ãcountã§ç¥ãããšãã§ããŸããããšãã°ãåŒæ°ã2ã€æªæºã®ãšãããšã©ãŒã¡ãã»ãŒãžã衚瀺ããã«ã¯ã以äžã®ããã«ããã°ã©ã ãçµã¿ãŸãã
function test
{
if ($args.count -ge 2 ) {
$args[0] + $args[1]
} else {
"2ã€ã®ãã©ã¡ãŒã¿ãæå®ããŠäžãã"
}
}
åŒæ°ã®æ°($args.count)ãã2以äž(-ge)ã§ããã°ã2ã€ã®åŒæ°ã®åãèšç®ããŠè¡šç€ºããããã§ãªããã°ã¡ãã»ãŒãžã衚瀺ããŸãã
â» PowerShellããã³ããã§æ¥æ¬èªå ¥åããããšãã[åè§/å šè§]ããŒãæŒããŠãä»®åæŒ¢å倿ã䜿çšã§ããªãç°å¢ã§ã¯ã[Alt] + [åè§/å šè§]ããŒãæŒããŠäžããã
![]() |
|
颿°ã®å®çŸ©ãšå®è¡çµæãtestã®ãã©ã¡ãŒã¿ã2ã€æªæºã®ãšãã¯ããšã©ãŒã¡ãã»ãŒãžã衚瀺ããŸãã |
â» ãã§ã«äœæãã颿°ãšåã颿°åã§å®çŸ©ãããšãPowerShellã¯æ¢åã®é¢æ°ãç Žæ£ããŠãæ°ããå 容ã«é¢æ°ãæžãæããŸãã
ããã¹ããã¡ã€ã«ãã³ããŒãã颿°ã®äœæ
å°ãå®çšçãªé¢æ°ãäœæããŠã¿ãŸããããäœåºŠãã«ã¬ã³ããã£ã¬ã¯ããªã®ããã¹ããã¡ã€ã«(æ¡åŒµå.txt)ãã³ããŒããªããã°ãªããªããšããŸããæ¯åæ¡åŒµå.txtãæå®ããã®ã¯é¢åã§ãã®ã§ãããã¹ããã¡ã€ã«ã ããã³ããŒãã颿°ãCopy-Textfileãäœã£ãŠã¿ãŸããããPowerShellã®ããã³ããã§ä»¥äžã®ããã°ã©ã ãå ¥åããŠãã ããã
function Copy-Textfile
{
if ($args.count -eq 1 ) {
Copy-Item ./*.txt $args[0]
"ã³ããŒçµäºããŸããã"
} else {
"ããã¹ããã¡ã€ã«ã®ã³ããŒå
ãã£ã¬ã¯ããªãæå®ããŠäžããã"
}
}
颿°ã®ä¿®æ£ãšç¢ºèªãšåé€
颿°äžèЧã衚瀺ããã«ã¯ãGet-ChildItemã³ãã³ãã¬ããã§function:ãããã€ããæå®ããŸãã
ãŸããç¹å®ã®é¢æ°ã®æç¡ã確èªããã«ã¯ããã¡ã€ã«äžèЧã衚瀺ããããšãã®ããã«ã颿°åãæå®ããŸããã¯ã€ã«ãã«ãŒãã䜿çšã§ããŸãã
颿°ãä¿®æ£ããã«ã¯ãåã颿°åã§åå®çŸ©ããŸããæ®å¿µãªãããéšåçã«ä¿®æ£ããããšã¯ã§ããŸããã
äœæãã颿°ãåé€ãããšãã¯ãRemove-Itemã³ãã³ãã¬ããã䜿ããŸãã
![]() |
|
ãRemove-Item funciton:颿°åãã§ã颿°ãåé€ã |
颿°ã®å¯¿åœ(æå¹ç¯å²)
ããããŠèšå®ãã颿°ã¯ãæ®å¿µãªãããPowerShellãçµäºãããšç Žæ£ãããŸããæ¬¡åPowerShellãèµ·åãããšãã«ã¯ãã¯ã䜿çšã§ããŸãããPowerShellãçµäºããã°æ¶ããŠããŸãã®ã§ããããæ°è»œã«é¢æ°ãäœæããŠããããã¿ã«é¢æ°ãå¢ããŠæ··ä¹±ããå¿é ã¯ãããŸããã
äœæãã颿°ãç¶ç¶çã«äœ¿çšãããå Žåã«ã¯ãã¹ã¯ãªãããäœæããŸããæ¬¡åã¯ã¹ã¯ãªããã®äœæãšå®è¡ã«ã€ããŠç޹ä»ããŸãã






