Windowsバッチファイル。ファイル名の先頭に年月日日時分を加えてバックアップ作成する方法

固定ページ
Pocket

コマンドプロンプトからコマンドを組み合わせて作る簡単なプログラムを作ると便利です。バッチファイルを作ってみましょう。

Windowsでコマンドプロンプトを実行する

スクリーンショット 2020 03 15 13 30 04

窓のマークのWindowsロゴキーと「R」キーを押して、「cmd」と入力して、「enter」キーを押して、コマンドプロンプトを起動しましょう。

スクリーンショット 2020 03 15 13 34 25

真っ黒な画面のウィンドウが開きました。
これがコマンドプロンプトです。Windowsになる前からパソコンを使っていた方にはおなじみの懐かしいDOS(MS-DOS)です。

キーボードから命令(コマンド)を入力することでディレクトリ(フォルダ)やディレクトリ内のファイルの情報を表示したり、ファイルをコピーしたり削除したりといった操作を行なうことができます。

こちらの記事「WindowsがあるのにDOS(コマンドプロンプト)を使ってみよう」でWindowsでコマンドプロンプトを利用することを紹介しました。

このコマンドを1つまたは2つ以上組み合わせて1つの束(batch)にしてコマンドを実行するプログラム、バッチファイルを作成すると便利です。

バッチファイルが保存されているフォルダに“パス(PATH)を通す”

テキストファイルに拡張子「bat」をつけることでWindowsはバッチファイルと認識します。
パス(PATH)を通すことで、バッチファイルの名前だけでバッチファイルプログラムを実行できるようになります。
・窓のマークのWindowsロゴキーを押して、バッチファイル名を入力して、「enter」キーを押す。
・Windowsロゴキー + 「R」キーを押して、“ファイル名を指定して実行”で現れる「名前(O)」にバッチファイル名を入力して、「enter」キーを押す。
どのドライブのどのフォルダの中のさらにそのサブフォルダの中の○○という名前のバッチファイルを実行するようにとフルパスでファイルを特定しなくても、バッチファイル名(「.bat」の部分は入力不要)だけ入力するだけでバッチプログラムが実行されますので、パスは通しておきましょう。

スタートメニューから「Windowsシステム・ツール」を開く

スクリーンショット 2020 03 15 11 51 39

Windowsシステムツールから「コントロールパネル」を開く

スクリーンショット 2020 03 15 11 53 05

コントロールパネルから「システムとセキュリティ」を開く

スクリーンショット 2020 03 15 11 54 22

システムとセキュリティから「システム」を開く

スクリーンショット 2020 03 15 11 55 26

システムのプロパティから「詳細設定」タブを開き、「環境変数(N)」を開く

スクリーンショット 2020 03 15 11 58 21

ユーザー環境変数の「Path」を選択してから「新規(N)」を選択し、「変数名(N)」にバッチファイルを保存するフォルダを入力して「OK」をクリックする

スクリーンショット 2020 03 15 12 04 04

スクリーンショット 2020 03 15 12 08 10

スクリーンショット 2020 03 15 12 08 38

パスが通ったことが確認できました。

特定のExcelファイルをファイル名の先頭に年月日日時分秒を加えたファイル名でバックアップファイルを作成してからファイルをExcelを起動して開くバッチファイルを作る

スクリーンショット 2020 03 15 12 37 34

私は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」をフルパスで指定しましょう。

スクリーンショット 2020 03 15 13 12 31

Windowsロゴキーの右横の「ここい入力して検索」に「Excel.exe」と入力して「enter」キーを押します。
「Excel.exe」が表示されたら「ファイルの場所を開く」をクリックします。ファイルの場所を確認しましょう。

スクリーンショット 2020 03 15 13 13 54

「Excel.exe」のあるファイルの場所をコピーして===線の中のプログラムを書きかえましょう。

スクリーンショット 2020 03 15 13 17 36

これで「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

========================================================================

バッチファイルを実行する(バッチプログラムを実行する)

スクリーンショット 2020 03 15 14 50 51

窓のマークのWindowsロゴキーと「R」キーを押して、バッチファイル名(「.bat」は不要)と入力します。

ここでは「2020dcbk」と入力しています。
「2020dcbk.bat」というファイル名でバッチファイルを作成したためです。

バッチファイル名を「enter」キーを押して、コマンドプロンプトを起動しましょう。

スクリーンショット 2020 03 15 13 20 29

バッチファイルが起動しました。

「続行するには何かキーを押してください・・・」と表示されていますので、「enter」キーを押しましょう。

スクリーンショット 2020 03 15 13 21 00

「1個のファイルをコピーしました。」と表示され、バックアップするファイルがコピーされたことがわかりました。

「続行するには何かキーを押してください・・・」と表示されていますので、「enter」キーを押しましょう。

スクリーンショット 2020 03 15 13 21 21

「処理終了しました」と表示されました。ファイル名の先頭に年月日日時分秒が加えられたファイル名でバックアップファイルが作成されました。

「続行するには何かキーを押してください・・・」と表示されていますので、「enter」キーを押しましょう。

スクリーンショット 2020 03 15 13 23 58

Excelでファイルが開かれました。

Excelを終了するとバッチファイルが終了してコマンドプロンプトが閉じます。

今回作成したバッチファイルで上書きされることがないバックアップファイルが作成したあとでExcelでファイルを開いて仕事を始めることができますので、安心です。

コマンドプロンプト(DOS画面)に慣れるためにも、役に立つプログラムで紹介しました。

お試しいただければ。

【編集後記】

コマンドプロンプト、そしてコマンドプロンプトで実行するバッチファイル。
Windowsの画面を見慣れていると、黒い画面にキーボードから英語で入力するのはハードルが高く感じるかもしれません。
しかし、慣れると仕事が便利になりますし時間短縮できますから残業を減らして定時で帰るのに役立ちます。

週末の1日1新 家族で『人生ゲーム』

人生ゲームは1回のゲームにかかる時間が長いので参加していなかったのですが、たまにはと思って参加してみました。
意外に楽しめました。サイコロで行き先が決まるのは良いとしても、行った先で自分でどうするか選択できないのはどうかと思いますが。

Amazon  人生ゲーム

The following two tabs change content below.

小倉健二(労働者のための社労士・労働者側の社労士)Office新宿(東京都)

小倉健二(おぐらけんじ) 労働者のための社労士・労働者側の社労士 労働相談、労働局・労働委員会でのあっせん代理 労災保険給付・障害年金の相談、請求代理 相談・依頼ともに労働者の方に限らせていただいています。  <直接お会いしての相談は現在受付中止> ・mail・zoomオンライン対面での相談をお受けしています。 1965年生まれ57歳。連れ合い(妻)と子ども2人。  労働者の立場で労働問題に関わって30年。  2005年(平成17年)12月から社会保険労務士(社労士)として活動開始。 2007年(平成19年)4月1日特定社会保険労務士付記。 2011年(平成24年)1月30日行政書士試験合格  
%d人のブロガーが「いいね」をつけました。