PowerShellでファイルコピーやフォルダコピーするやり方【らくらく簡単】自動化も可能
PowerShellでファイルコピーやフォルダコピーするコマンドと使い方をご紹介します。
コマンド1行を実行するだけで手軽にコピーすることができますし、シェルでの実行のため、定期的な自動実行処理としても利用できるのでとても便利です。
ファイルやフォルダをコピーする方法
以下のコマンドを実行します。
※同じファイル名やフォルダ名のものがある場合、強制的に上書きするので実行には注意してください。上書きコピーしない方法は、後述していますので下部を参考にしてください。
【コマンド】
Copy-Item コピー元のファイルパス コピー先のファイルパス コピー -Recurse -Force
【コマンドの使用例】
・tmpフォルダからcopiedフォルダにテキストファイルをコピーする場合
Copy-Item c:\tmp\a.txt c:\copied\ -Recurse -Force
・tmpフォルダからcopiedフォルダにa.txtファイルをb.txtファイルとしてコピーする場合
Copy-Item c:\tmp\a.txt c:\copied\b.txt -Recurse -Force
【コマンドの説明】
Copy-Item コマンドによりファイルやフォルダをコピーします。
オプションとして-Recurseを指定することで再帰的にコピーできます。また、-Forceを指定することで同じファイル・フォルダ名のものが存在する場合、強制的に上書きします。同じ名前のものが存在する場合に上書きしたくない場合は、-Forceオプションを指定せずに実行します。
【同じ名前のものが存在する場合に上書きしないコピー方法】
Copy-Item コピー元のファイルパス コピー先のファイルパス コピー -Recurse
【コマンドの使用例】
・tmpフォルダからcopiedフォルダにテキストファイルをコピーする場合(同じ名前のファイルが存在する場合は上書きコピーしない)
Copy-Item c:\tmp\a.txt c:\copied\ -Recurse
ファイルをシェルで自動コピーするような処理は利用機会も多いです。是非活用してみてださい。自動処理する場合はWindowsの標準機能であるタスクスケジューラにセットして自動実行してください。
Windows PowerShellの本
PowerShellを勉強するなら手元に本があるとなお便利です。
パソコンの自動化に便利なプログラミング
パソコンは人間に比べ、計算が非常に速いです。
また、キーボードやマウスでお願いしたことを、確実にこなしてくれます。
人間よりもよっぽど仕事ができてしまうのです。
そんなパソコンが、自動で何かしてくれるとなるととても便利だとは思いませんか?
時間を有効的に使うための第一歩はパソコンの処理の自動化です。
私はメールの受信をして必要な情報があれば保存しておいたり、
メールに掲載されているアドレス先を見に行ったり、自動でパソコンにさせています。
どうやってするんだと言われると、プログラミングしてパソコンに定期的に動いてもらっているといった感じです。
そこでパソコンによる処理の自動化に役立つものを紹介します。
まずは自動化に向くOSといえばLinux。
使用しているかたはもうシェルスクリプト組んでcronにでも突っ込んでおけば良いだけですよね。
圧倒的に楽ですし、Linuxほど自動化を視野にいれているOSはないでしょう。
なれてしまえばCUIベースがやめつきになってしまいます。圧倒的に軽くて早いです。
が、現実問題、たいていの人が使用するのはWindowsでしょう。
私もWindowsです。Windows上に仮想化してLinuxを立ち上げたりはしますが、最近はしてません。
ではWindowsで自動化する方法は何か?
ずばりコマンドラインのバッチ処理とpowershellです。これさえあれば
自動で対象のファイルを保存したり、アップロードしたり、サイトにアクセスしたり、メールを操作したり、
ディレクトリやファイルを移動したり削除したり、作ったり何でもできます。
慣れるまで難しいですが、自動化に興味があるプログラマならまずは
コマンドラインとPowerShellを覚えるのが良いでしょう。
私もまだまだ駆け出しなので何か他に良い物があれば是非ご紹介して頂けると嬉しいです。
パソコンでの良い自動化ライフを。