6
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2018-11-27

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

##構成環境

  • Windows10
  • PowerShell 5.1

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

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

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

#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       

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

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ファイルを用いる

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
}

実行結果

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: 前回の記事 | 次回の記事 :arrow_forward:

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?