コマンドプロンプトからコマンドを組み合わせて作る簡単なプログラムを作ると便利です。バッチファイルを作ってみましょう。
Contents
Windowsでコマンドプロンプトを実行する
窓のマークのWindowsロゴキーと「R」キーを押して、「cmd」と入力して、「enter」キーを押して、コマンドプロンプトを起動しましょう。
真っ黒な画面のウィンドウが開きました。
これがコマンドプロンプトです。Windowsになる前からパソコンを使っていた方にはおなじみの懐かしいDOS(MS-DOS)です。
キーボードから命令(コマンド)を入力することでディレクトリ(フォルダ)やディレクトリ内のファイルの情報を表示したり、ファイルをコピーしたり削除したりといった操作を行なうことができます。
こちらの記事「WindowsがあるのにDOS(コマンドプロンプト)を使ってみよう」でWindowsでコマンドプロンプトを利用することを紹介しました。
このコマンドを1つまたは2つ以上組み合わせて1つの束(batch)にしてコマンドを実行するプログラム、バッチファイルを作成すると便利です。
バッチファイルが保存されているフォルダに“パス(PATH)を通す”
テキストファイルに拡張子「bat」をつけることでWindowsはバッチファイルと認識します。
パス(PATH)を通すことで、バッチファイルの名前だけでバッチファイルプログラムを実行できるようになります。
・窓のマークのWindowsロゴキーを押して、バッチファイル名を入力して、「enter」キーを押す。
・Windowsロゴキー + 「R」キーを押して、“ファイル名を指定して実行”で現れる「名前(O)」にバッチファイル名を入力して、「enter」キーを押す。
どのドライブのどのフォルダの中のさらにそのサブフォルダの中の○○という名前のバッチファイルを実行するようにとフルパスでファイルを特定しなくても、バッチファイル名(「.bat」の部分は入力不要)だけ入力するだけでバッチプログラムが実行されますので、パスは通しておきましょう。
スタートメニューから「Windowsシステム・ツール」を開く
Windowsシステムツールから「コントロールパネル」を開く
コントロールパネルから「システムとセキュリティ」を開く
システムとセキュリティから「システム」を開く
システムのプロパティから「詳細設定」タブを開き、「環境変数(N)」を開く
ユーザー環境変数の「Path」を選択してから「新規(N)」を選択し、「変数名(N)」にバッチファイルを保存するフォルダを入力して「OK」をクリックする
パスが通ったことが確認できました。
特定のExcelファイルをファイル名の先頭に年月日日時分秒を加えたファイル名でバックアップファイルを作成してからファイルをExcelを起動して開くバッチファイルを作る
私はMS-DOS〜Windows95のころまで『知子の情報』というアプリ(文章のデータベースソフト)を使っていました。
この『知子の情報』を開発した会社(株式会社テグレット技術開発)では、ファイルを保存しないことをファイルを捨てると呼んでいるという話を聞いてなるほど〜と思いました。
「ctrl」キー+「S」キーを押すだけでファイルを上書き保存する機能があるアプリは多いです。MicrosoftOfficeなどもそうです。
操作している最中にこまめに「ctrl」キー+「S」キーを押して最新の状態でファイルを保存し続けていれば、アプリがフリーズしたりしてファイルを保存できずにWindowsをシャットダウンして再起動しなければならかったときでも、「ctrl」キー+「S」キーを押したところまではファイルが保存されているので、そこまでの作業は無駄にならずみすみます。
しかし、問題なのは、ファイルを開いて作業中に気がつかずにデータを削除してしまいそのあとで「ctrl」キー+「S」キーを押して上書き保存してしまったという場合です。困ってしまいます。
そこで、上書き保存とは別にファイル名を変更して別名で保存しておけば、データを削除したりデータが壊れてしまう前の状態までさかのぼることができますので安心です。バックアップファイルを作成するという方法です。
作業するファイルのファイル名はそのままでバックアップファイル自体のファイル名を変更した方が、作業するファイル名はいつも変わらないので使いやすいでしょう。
バックアップファイル名は、バックアップするファイルの名前の先頭に年月日時分秒を加えてファイル名から新旧がわかると便利です。
このバックアップファイルを作成してから、元のファイルをExcelで開くまでの一連を束(Batch)にして実行するバッチプログラムをテキストファイルで作成してみましょう。
Cドライブに、「2020」フォルダがあり、「2020」フォルダの中に「2020dc.xlsx」というExcelファイルがあります。
(ドライブ名・フォルダ名・ファイル名はご自身の環境に合わせて変更してください。)
この「2020dc.xlsx」ファイルを、ファイル名の先頭に年月日時分秒を加えたファイル名でバックアップファイルを作成してそのあとでExcelで「2020dc.xlsx」を開くというバッチファイルは以下のテキストデータです。
一番下に近い行「”C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE”」は「Excel.exe」がある場所をフルパスで指定しています。
お使いのパソコンの環境で「Excel.exe」がある場所は異なります。「Excel.exe」をフルパスで指定しましょう。
Windowsロゴキーの右横の「ここい入力して検索」に「Excel.exe」と入力して「enter」キーを押します。
「Excel.exe」が表示されたら「ファイルの場所を開く」をクリックします。ファイルの場所を確認しましょう。
「Excel.exe」のあるファイルの場所をコピーして===線の中のプログラムを書きかえましょう。
これで「Excel.exe」を起動できるようになります。
「”C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE” C:\2020\2020dc.xlsx
」の中の「EXCEL.EXE」で開くファイルも「C:\2020\2020dc.xlsx」からご自身の環境に合わせて変更しましょう。
===線の中の部分がプログラムです。(===線は不要です。===線は削除します。)
========================================================================
cls
@echo off
cd C:\2020
echo 「”C:\2020\2020dc.xlsx”」
echo 元のファイル名に日・時・分・秒を先頭に加えてバックアップします。
rem ——————————————————
rem echoコマンドで以下の行を実行すると、
rem dtとtmでsetしてファイル名に取得した内容がわかりやすい。
rem
rem echo %date:~-10,4%%date:~-5,2%%date:~-2,2%
rem echo %time2:~0,2%%time2:~3,2%%time2:~6,2%
rem ——————————————————
set dt=%date:~-10,4%%date:~-5,2%%date:~-2,2%
set time2=%time: =0%
set tm=%time2:~0,2%%time2:~3,2%%time2:~6,2%
if not exist “C:\2020\2020dc.xlsx” echo “C:\2020\2020dc.xlsx”がありません。
@echo off
echo.
pause
echo.
copy “C:\2020\2020dc.xlsx” C:\2020\%dt%_%tm%_2020dc.xlsx
pause
if errorlevel 1 goto err
:nor
echo.
echo 処理終了しました。
echo.
goto end
:err
echo.
echo 処理できません。何か間違いがあるようです。
echo.
goto end
:end
echo.
pause
“C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE” C:\2020\2020dc.xlsx
exit
========================================================================
バッチファイルを実行する(バッチプログラムを実行する)
窓のマークのWindowsロゴキーと「R」キーを押して、バッチファイル名(「.bat」は不要)と入力します。
ここでは「2020dcbk」と入力しています。
「2020dcbk.bat」というファイル名でバッチファイルを作成したためです。
バッチファイル名を「enter」キーを押して、コマンドプロンプトを起動しましょう。
バッチファイルが起動しました。
「続行するには何かキーを押してください・・・」と表示されていますので、「enter」キーを押しましょう。
「1個のファイルをコピーしました。」と表示され、バックアップするファイルがコピーされたことがわかりました。
「続行するには何かキーを押してください・・・」と表示されていますので、「enter」キーを押しましょう。
「処理終了しました」と表示されました。ファイル名の先頭に年月日日時分秒が加えられたファイル名でバックアップファイルが作成されました。
「続行するには何かキーを押してください・・・」と表示されていますので、「enter」キーを押しましょう。
Excelでファイルが開かれました。
Excelを終了するとバッチファイルが終了してコマンドプロンプトが閉じます。
今回作成したバッチファイルで上書きされることがないバックアップファイルが作成したあとでExcelでファイルを開いて仕事を始めることができますので、安心です。
コマンドプロンプト(DOS画面)に慣れるためにも、役に立つプログラムで紹介しました。
お試しいただければ。
【編集後記】
コマンドプロンプト、そしてコマンドプロンプトで実行するバッチファイル。
Windowsの画面を見慣れていると、黒い画面にキーボードから英語で入力するのはハードルが高く感じるかもしれません。
しかし、慣れると仕事が便利になりますし時間短縮できますから残業を減らして定時で帰るのに役立ちます。
週末の1日1新 家族で『人生ゲーム』
人生ゲームは1回のゲームにかかる時間が長いので参加していなかったのですが、たまにはと思って参加してみました。
意外に楽しめました。サイコロで行き先が決まるのは良いとしても、行った先で自分でどうするか選択できないのはどうかと思いますが。
Amazon 人生ゲーム
小倉健二(労働者のための社労士・労働者側の社労士)Office新宿(東京都)
最新記事 by 小倉健二(労働者のための社労士・労働者側の社労士)Office新宿(東京都) (全て見る)
- 【産休・育休】厚生年金・健康保険の保険料免除について知ろう - 2023年3月29日
- 2023年4月1日【出産育児一時金】8万円増額1児50万円支給 - 2023年3月16日
- 【60歳で老齢年金繰上げ受給を検討中】繰上受給したあとで障害年金請求できるか? - 2023年3月14日