以下ようなツールはどのプログラム言語で作るのが向いていますか?
仕事中にファイル名に日付をつけてファイルを残すことがあり、
ふとプログラミングの勉強を兼ねて、
以下のようなWindowsで使用するツールを作ってみようと考えました。
目的
一時的なバックアップ用にファイル名を変更orファイルをコピーする。
使い方
・ファイルを右クリック
・右クリック後「新規作成->フォルダ」と同じイメージで、
「アプリ名->ファイル名を変更」 か
「アプリ名->ファイルをコピー」
を選択できる。
○アプリ名->ファイル名を変更 を選択した場合、
選択したファイルの名前に_yymmddを追加した形に変更
ex.
sample.txt
↓
sample_100603.txt
○アプリ名->ファイルをコピー を選択した場合
選択したファイルをコピーし、
ファイル名を元のファイル名に_yymmddを追加した形に変更
ex.
sampleCopy.txt
↓
sampleCopy.txt
sampleCopy_100603.txt
---
今まで、業務でC, C++, Javaでコーディング経験はあるのですが、
Windows関数の呼び出し経験はほとんどありません。
(MFCでは少し実装したのですが・・・)
ちょっと調べた感じだと
ファイル右クリックで表示させるためのレジストリの書き換えと、
ファイル名の変更&コピー程度なので、実装はそれほどむずかしくないかなと考えています。。
皆さんであれば上記のようなツールはどの言語で実装しますか?
今回のツールとは別にスクリプト系の言語を勉強してみようかと考えて
PythonかRubyを勉強してみようか迷っていたところなので、
できれば今までやったことのない言語で作ってみたいのですが、
やはりWindowsアプリはC(++)が作りやすいのでしょうか???
No.4ベストアンサー
- 回答日時:
「ファイル名を変更してコピー」のようなことをWindowsで行うのでしたらWSH(Windows Script Host)スクリプトもよいのではないでしょうか。
新たなインストールは不要で、コピースクリプトをエディタで作成し、ショートカットをSendToフォルダに置けば準備完了です。ファイルを右クリックで「送り」ます。
SendToを使わずに右クリックメニューを実現するにはコピースクリプトとは別の実装が必要ですが、WSHはレジストリ操作もできますから、それも不可能ではないように思います(すみませんが私はSendToで済ませているので実装した経験はありません)。
No.3
- 回答日時:
右クリックというのはエクスプローラ上で、ということですよね?
新規作成と同じ並びでメニューを表示させるのはシェルエクステンションとかいうのを実装しなければならなかったような気がします。これは結構面倒くさいので、私ならSendToフォルダにショートカットを作って、ショートカット先のプログラムは C で作成ですかね。
シェルエクステンションとかいうのを実装するのだったら、C++ (ATL?) かなと思います。
No.2
- 回答日時:
クライアントアプリケーションを作る場合、
それを自分だけが使うのか、他人にも使ってもらうのか、
他人に使ってもらう場合、どのOS(どのWindows)を使用するのか、
どのレベルの人が使うのか(PC初心者が使うのか、同僚の開発者が使うのか)
によって使用言語の選択も変わってきます。
ある言語で作ったプログラムを他人に使ってもらう時、
その言語に応じた実行環境を他人のPC上に整えなければなりません。
例えば、
Rubyで作ったスクリプトはRubyをインストールしないと実行できませんし、
JavaはJRE(Javaランタイム環境)のインストールが必要です。
C#やVB.netの実行には.NETフレームワークが必要です。
C++でもMFCを使うならMFCランタイムライブラリが必要ですし、
Cでも標準関数を使うなら、Cランタイムライブラリが必要です。
こういった実行環境準備は、なるべく簡単で済むようにしたいところです。
MFCやCランタイムライブラリは、インストーラを作って、
その中でランタイムライブラリも自動的にインストールさせることも
可能ですが、簡単なプログラムのためにわざわざインストーラを作るのも
面倒です。
今回のケースの場合、高度な言語環境は不要そうなので、
私だったら、C言語を使ってWin32APIだけ(Cランタイムライブラリ利用無し)で作るか、
Cランタイムライブラリをスタティックリンクで利用して作ります。
こうすれば、他のPCに配布する時、実行環境の準備が不要になるからです。
もし、使用するPCがWindows VistaまたはWindows 7だけを対象に
したのでよいのであれば、これらのOSには.NETフレームワークが
最初から入っていますから、高度な言語機能や言語環境を利用する
ためにC#で作るかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Excel(エクセル) 1つのファイルを3つのフォルダにファイル名を【明日の日付】にして、コピーをしたい 2 2022/12/21 17:43
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- iOS iPhone用動画保存アプリiCapのデータは外付けUSBメモリに保存できますか? 1 2022/10/18 17:48
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- その他(プログラミング・Web制作) ファイル名の一部をbatで変更したい batファイルを使って、以下のようにファイル名の一部を変更した 3 2023/02/21 20:09
- iOS ファイルの名前変更 2 2022/08/11 20:47
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) 1つのファイルを複数のフォルダにファイル名を【明日の日付】にして、コピーしたい 5 2022/12/13 20:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
frxファイルの役目
-
エクセルのハイパーリンクがコ...
-
ファイルサーバ上のファイルが...
-
バッチファイル XCOPYで上書き...
-
バッチファイル 別ファイルにリ...
-
アクセス クエリを別のファイ...
-
エクセルVBAで開いているファイ...
-
ExeclVBAユーザーフォームから...
-
Vba初心者です。下記のコード助...
-
bat 同名ファイルコピー時にリ...
-
バッチファイルのコピーで
-
最新更新日のBATファイルコピー...
-
エクセル2010、図が大きすぎま...
-
FSO.CopyFileでのエラー無視方法
-
FTPとファイルコピーの違いにつ...
-
エクセルのマクロについて教え...
-
[エクセル]コピーするとオブジ...
-
バッチファイルの変数について
-
エクセル 同じデータなのに違う...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
エクセルのハイパーリンクがコ...
-
バッチファイル XCOPYで上書き...
-
バッチファイル 別ファイルにリ...
-
frxファイルの役目
-
ファイルサーバ上のファイルが...
-
バッチファイルのコピーで
-
Vba初心者です。下記のコード助...
-
xcopyでのバッチコピー方法でコ...
-
同じファイル名 上書きしないフ...
-
エクセルVBAで開いているファイ...
-
エクセル2010、図が大きすぎま...
-
vbsでExcelのシートをコピーす...
-
アクセス クエリを別のファイ...
-
bat 同名ファイルコピー時にリ...
-
[エクセル]コピーするとオブジ...
-
ワード 一部のページだけをpdf...
-
パワポでスライドをコピーでき...
-
FSO.CopyFileでのエラー無視方法
-
VBSで作成したフォルダにファイ...
おすすめ情報