今回はPowerShellを使った今日できシリーズです。
PowerShellって何?と思った方もこの記事で説明するのでご安心ください!
PowerShellはWindowsに最初から入っている無料のツールなので、誰でも簡単に使うことができます!
今日できシリーズとは…
ExcelのPivotやAccess、VBA、RPAなど「言葉は知っているけど使えない」「覚えた方がいいのはわかっているけど、具体的にどう使うかなどのイメージがわからないからイマイチ勉強に身が入らない」という人のために、とにかく最初の敷居を低くして「今日からできる」「今日から使える」ということに重点を置いて、色々な情報を伝えるシリーズ。
一見難しそうなスキルも、最初の一歩ができれば案外次の一歩も出しやすかったりするので、ぜひ興味があれば他の記事も見てみてくださいね!
この記事では、「フォルダの中のファイル名を一括で違うファイル名に変えたい!」という時に使える小技をご紹介します。
この記事内のテキストをコピペすればすぐに業務などで使えるのでぜひ活用していただけたら嬉しいです。
では、次章から説明していきます。
フォルダの中のファイルを一括で違う名前に変えたい
例えば仕事で、〇〇フォルダの中に、アイテム01.xlsx、アイテム02.xlsx…アイテム10.xlsxというファイルがあり、この共通している「アイテム」という部分を、全て英語の「item」に変えたいとします。
仕事で使うシステムで1つだけ、アップロードするファイルが英語名でないといけないものがあり、すが、日本語のファイル名を一括で英語名に変えるためにたまに使っていました。
もし同じような状況の方がいたら、ぜひ活用いただけたらと思います!
実行前と実行後のイメージ↓
こんな感じで、同じ名前であれば一括で切り替わります!
では早速学んでいきましょう!
やってみよう
今回は、例として先ほどの画像と同じく「アイテム」という名前のファイルを一括で「item」に変更していきましょう!
使うツールの説明:PowerShellとは
まず、今回使う「PowerShell」とは、冒頭で説明しましたが「Windowsに最初から入っている無料のツール」です。
今回はとにかく
・すぐに使えること
・使い方がわかること
この2つができればOK。
本か何かで読んだ喩えなのですが、
テレビのリモコンは「ボタンを押せばテレビがつく」ということを知っていれば使える。
「なぜボタンを押すだけでテレビの電源がつくのか」といった仕組みはは知らなくても問題ない。
というような言葉があります。なので、今回はPowerShellの説明は省いて具体的にPowerShellを使うところから説明します。
もっと詳しく知りたい方は、Googleなどで「PowerShell」と入れて検索すると、詳しく書いてある記事が見つかると思います。
テニスでも、「利き手にラケットを持って肩を軸にして下から上へ回す感じで打つ」なんて言われてもちょっとわかりにくいですよね。
それよりもまずは何回かコーチの真似をして振ってみて、その後、フォームの修正をしていけばいいと思います。
そのようなイメージで、今回もPowerShellをまず使ってみて、「あ、これは仕事で使えそう!」、「もっと知りたい!」と思った時に、改めてPowerShellのことを調べたり、このブログの他のPowerShellの記事を読んでいただければいいと思います。
前書きが長くなりましたが、そういうわけなので、早速やっていきましょう!
今回の作業イメージ
やることはざっと4つです。
①ブログに書いてあるテキストをコピーして、PCのメモ帳アプリなどに貼り付ける。
②テキストの一部を自分用に編集してコピー
③PowerShellを起動する
④②のテキストを貼り付けて実行、変更の確認
では、順に説明していきます!
①ブログに書いてあるテキストをコピーして、PCのメモ帳アプリなどに貼り付ける。
以下の—の間のテキストをコピーして、PC内臓のメモ帳アプリやWordなどなんでも良いので貼り付けます。
——————————————————————
Get-ChildItem | ForEach-Object {
$NewName = $_.Name -replace ‘変更前の文字‘, ‘変更後の文字‘
Rename-Item -Path $_.FullName -NewName $NewName
}
——————————————————————
②テキストの一部を自分用に編集してコピー
コピペができたら、上の赤字部分が変更が必要な個所です。
ここで、再度先ほどの実行前と実行後のイメージ画像をご覧ください。
「変更前の文字」というのは今回「アイテム」、「変更後の文字」は「item」となります。
なので、赤字部分を以下のように変更します。
——————————————————————
Get-ChildItem | ForEach-Object {
$NewName = $_.Name -replace ‘アイテム‘, ‘item‘
Rename-Item -Path $_.FullName -NewName $NewName
}
——————————————————————
この時に「’」などを間違えて消したりしてしまっていないか、注意してくださいね。
③PowerShellを起動する
PowerShellの起動方法はとても簡単です。
まず、名称を変更したいファイルが入っているフォルダを開きます。
フォルダの中で、Shiftを押しながら右クリックして、出てきた画面で「PowerShell ウィンドウをここで開く」をクリックします。
画像で説明するとこんな感じです。
すると、以下のような画面が出てきます。
今回私は自身のPCのドキュメントの中の「06_ブログ」フォルダの中の「練習」フォルダに入れるので、画像にもこのフォルダの中でPowerShellを起動しているよ!という風に出ています。
こんな風に、最初から使いたいフォルダでPowerShellを開けば、後はテキストを貼り付けるだけなのでとても楽です♪
④先ほどの②で編集したテキストを貼り付けて実行、変更の確認
PowerShellの画面が開けたら、先ほど②で編集したテキストをコピーしてPowerShellに貼り付け、Enterボタンを押します。(PowerShellの画面でCtrl+V)
その後フォルダを見てみると、こんな感じで一括で切り替わりました!
PowerShellはこんな感じで、単純だけど時間がかかるような作業を一気に行ってくれるので、ぜひ活用してみてくださいね!
ただ、いくつか注意点をあげておきます。
例えば今回の例で言うと「アイテム」を「item」に変更しましたが、「アイテム」「あいてむ」などの名前のファイルは変更されません。。文字は完全一致する必要があります。
ですので、事前に変更前の名称が全部同じであるか確認が必要です。
ちなみに、Excelファイルでじゃなくて、PDFやpngなども同じように変更可能です!
いかがでしたでしょうか?
今回のようにブログなどに書いてあるコードを参考にすれば、自分でコードを書かなくても簡単に一括変更ができます!
さらに興味が湧いた方は、ChatGPTを使ってより自分の業務に必要なコードを書いてもらう、など応用できれば、やれることがもっと広がります。
他の記事でChatGPTに関する記事も紹介予定ですので、ぜひ参考にしていただければと思います!
最後までご覧いただきましてありがとうございました!
では、次の「今日できシリーズ」でお会いしましょう!
コメント