以下ようなツールはどのプログラム言語で作るのが向いていますか?
仕事中にファイル名に日付をつけてファイルを残すことがあり、
ふとプログラミングの勉強を兼ねて、
以下のような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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
バッチファイル XCOPYで上書き...
-
xcopyでのバッチコピー方法でコ...
-
同じファイル名 上書きしないフ...
-
バッチファイルのコピーで
-
Delphiによるファイルのコピー
-
ゴミ箱に移動するような削除を...
-
マインクラフトPCをプレイしよ...
-
Vba初心者です。下記のコード助...
-
エクセルのハイパーリンクがコ...
-
frxファイルの役目
-
賃貸アパートの退去の時の返却...
-
特定のエクセルファイルが止ま...
-
Excel VBAで値コピーが使用でき...
-
アクセス クエリを別のファイ...
-
PDFファイルを枚数指定してコピー
-
bat 同名ファイルコピー時にリ...
-
[エクセル]コピーするとオブジ...
-
バッチファイル 別ファイルにリ...
-
vbsでファイルやフォルダのコピ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
frxファイルの役目
-
バッチファイル XCOPYで上書き...
-
エクセルのハイパーリンクがコ...
-
同じファイル名 上書きしないフ...
-
Vba初心者です。下記のコード助...
-
xcopyでのバッチコピー方法でコ...
-
エクセル2010、図が大きすぎま...
-
バッチファイル 別ファイルにリ...
-
vbsでExcelのシートをコピーす...
-
アクセス クエリを別のファイ...
-
[エクセル]コピーするとオブジ...
-
パワポでスライドをコピーでき...
-
bat 同名ファイルコピー時にリ...
-
エクセルVBAで開いているファイ...
-
FTPとファイルコピーの違いにつ...
-
ファイルサーバ上のファイルが...
-
ファイルをコピーできない
-
開いている別のファイルにExcel...
-
FSO.CopyFileでのエラー無視方法
おすすめ情報