パワーシェルでフォルダのコピーとリネーム

コマンドプロンプトのワンライナーだと、どうもフォルダコピーが理解できないのでパワーシェルでやってみた

##構成環境
 - Windows10
 - PowerShell 5.1

##フォルダをコピーする
結論から言うと以下のコマンドレットでフォルダもファイルもコピーしてくれる
`Copy-Item [コピー元フォルダ/ファイル] [コピー先フォルダ/ファイル] -Recurse`
-Recurseはフォルダの中身も全部コピーするオプション

フォルダやファイルのリネームは以下のコマンドレット
`Rename-Item [リネーム前フォルダ/ファイル] -newName [リネーム後フォルダ/ファイル]`

以降は応用編
後々追記するかも
###雛型となるフォルダを作成

```PowerShell
#ISEのホスト画面の入出力例
PS C:\Users\xyz\Auction> New-Item Color-Black001_2018-1127 -ItemType Directory


    ディレクトリ: C:\Users\xyz\Auction


Mode                LastWriteTime         Length Name                                                                                                 
----                -------------         ------ ----                                                                                                 
d-----       2018/11/27      0:00                Color-Black001_2018-1127       
```

###フォルダの命名規則を利用して複数コピー

```PowerShell
PS C:\Users\xyz\Auction>foreach($list in 2..9){ Copy-Item Color-Black001_2018-1127 Color-Black00${list}_2018-1127 -Recurse }

PS C:\Users\xyz\Auction> Get-ChildItem


    ディレクトリ: PS C:\Users\xyz\Auction


Mode                LastWriteTime         Length Name                                                                                                 
----                -------------         ------ ----                                                                                                 
d-----       2018/11/27      0:00                Color-Black001_2018-1127                                                                             
d-----       2018/11/27      0:01                Color-Black002_2018-1127                                                                             
d-----       2018/11/27      0:01                Color-Black003_2018-1127                                                                             
d-----       2018/11/27      0:01                Color-Black004_2018-1127                                                                             
d-----       2018/11/27      0:01                Color-Black005_2018-1127                                                                             
d-----       2018/11/27      0:01                Color-Black006_2018-1127                                                                             
d-----       2018/11/27      0:01                Color-Black007_2018-1127                                                                             
d-----       2018/11/27      0:01                Color-Black008_2018-1127                                                                             
d-----       2018/11/27      0:01                Color-Black009_2018-1127  
```
とりあえずこんな感じでコピーできた

##フォルダをリネームしてみる
 - 001を別の命名規則で置き換えてみる

ワンライナーでやる方法が思いつかいのでここからはps1ファイルを用いる

```powershell:rename.ps1
$data=Get-ChildItem Color-Black*_2018-1127 -name
$count=( $data | Measure-Object).Count
foreach( $a in 1..$count){
    $b=$a-1
    Rename-Item $data[$b] -newName Color-Black10${a}_2018-1127
}
```
実行結果

```PowerShell
PS C:\Users\xyz\Auction> Get-ChildItem


    ディレクトリ: C:\Users\xyz\Auction


Mode                LastWriteTime         Length Name                                                                                                 
----                -------------         ------ ----                                                                                                 
d-----       2018/11/27      0:20                Color-Black101_2018-1127                                                                             
d-----       2018/11/27      0:20                Color-Black102_2018-1127                                                                             
d-----       2018/11/27      0:20                Color-Black103_2018-1127                                                                             
d-----       2018/11/27      0:20                Color-Black104_2018-1127                                                                             
d-----       2018/11/27      0:20                Color-Black105_2018-1127                                                                             
d-----       2018/11/27      0:20                Color-Black106_2018-1127                                                                             
d-----       2018/11/27      0:20                Color-Black107_2018-1127                                                                             
d-----       2018/11/27      0:20                Color-Black108_2018-1127                                                                             
d-----       2018/11/27      0:20                Color-Black109_2018-1127                                                                             
-a----       2018/11/27      0:10            199 rename2.ps1                                                                                          

```

こういう風に一括でリネームしたいときってあるよね

##最後に
フォルダやファイルの名前が適当過ぎて、管理が大変なのでもっと楽にリネームできる方法を模索中
というか今回もMove-Item使った方がよかったかも

:arrow_backward: [前回の記事](https://qiita.com/kurosworld/items/35060a3e695df9feaa0a) | [次回の記事](https://qiita.com/kurosworld/items/7112fb2351a4b7c7afa1) :arrow_forward: