【第1話】新しい部下のChatGPT登場の巻き
おはようございます、あるいはこんにちわ、はたまたこんばんわ。
ChatGPTが流行っていますが、そんなに使えるのか?って思います。
こういことを書いていながら、やはりすごいです!というオチのブログはたくさんありそうですが、このブログでは評価ではなく、IT業界で働くわたくしの部下として、実際にこういう仕事を任せてみたということを書き、孤独を紛らわそうと思います。
最近ACCESSで顧客情報データベースの開発を任されていますが、ACCESSってたまに壊れるんですよね。なんなんですかね。
平然と画面が開けなくなります。
だから毎日、ACCESSをコピーしてバックアップするバッチを作らねば、と思いながらも面倒くさいので後回しにしています。
DOSバッチでファイルコピーしてファイル名に日付付けて残すものを作るのって地味に面倒くさいんですよね。
は!これこそ部下のChatGPTにやってもらう仕事!と思い、以下の文章を入力して依頼してみました。
「MS ACCESSでアプリケーションを作ったんですが、毎日バックアップをとるようにDOSバッチを作ってください。ファイル名はには、その日の日付をyyyymmddの形式でつけてください。」
(なぜか敬語)
部下はこう返してきました。しかも、「ファイル名はには、」って日本語間違えたのに、ツッコミはありません。スルーされています。
以下は、MS Accessデータベースのバックアップを毎日自動的に作成するためのDOSバッチファイルの例です。ファイル名には、その日の日付(yyyymmdd形式)が付けられます。
batch@echo off
setlocal
REM バックアップを保存するフォルダのパスset "backup_folder=C:\バックアップフォルダのパス"
REM 現在の日付をyyyymmdd形式で取得
for /f "tokens=1-3 delims=/ " %%a in ('date /t') do set "date_str=%%c%%a%%b"
REM バックアップファイル名
set "backup_file=%date_str%.accdb"
REM MS Accessのパスとデータベースファイルのパス
set "access_path=C:\Program Files\Microsoft Office\Office16\MSACCESS.EXE"
set "database_path=C:\データベースファイルのパス\データベース.accdb"
REM バックアップの実行
"%access_path%" "%database_path%" /compact
if errorlevel 1 (
echo バックアップの作成中にエラーが発生しました。
exit /b )
REM バックアップファイルの移動
move "%database_path%" "%backup_folder%\%backup_file%"
echo バックアップが作成されました。
endlocalこのバッチファイルでは、
backup_folder
変数にバックアップファイルを保存するフォルダのパスを指定する必要があります。また、access_path
変数にはMS Accessの実行可能ファイル(MSACCESS.EXE)のパスと、database_path
変数にはバックアップを取得するデータベースファイルのパスを指定する必要があります。バッチファイルを実行すると、指定したデータベースファイルがコンパクション(圧縮)され、その後、バックアップフォルダにバックアップファイルが移動されます。バックアップファイル名は、その日の日付(yyyymmdd形式)に基づいて作成されます。
バッチファイルを毎日実行するためには、Windowsのタスクスケジューラを使用することができます。タスクスケジューラを開き、新しいタスクを作成し、バッチファイルを指定した日時に実行するように設定します。
ありがとう。ちゃんと動くか、動作テストしとくわ。
(ま、まじか、エラー処理まで書いてる!!!!!1分で作った!!!)
(しかも最適化してるーーーー、、、考えもしなかった!だ、誰かそこにいるの?)
続く。