どの言語で実装する?

このQ&Aのポイント
  • どのプログラム言語で、ファイル名を変更またはコピーするツールを作成するのが適しているのかを知りたい。
  • C, C++, Javaのコーディング経験があるが、Windows関数の呼び出し経験はほとんどなく、調査した結果、ファイル右クリックで表示させるためのレジストリの書き換えとファイル名の変更・コピーが必要なため、実装はそんなに難しくないと思われる。皆さんはどの言語で実装するか?
  • 今までやったことのない言語で作成したいが、WindowsアプリにはC(++)が適していると思われる。PythonかRubyで作成するのはどうか?
回答を見る
  • ベストアンサー

以下ようなツールはどのプログラム言語で作るのが向いていますか?

以下ようなツールはどのプログラム言語で作るのが向いていますか? 仕事中にファイル名に日付をつけてファイルを残すことがあり、 ふとプログラミングの勉強を兼ねて、 以下のような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(++)が作りやすいのでしょうか???

質問者が選んだベストアンサー

  • ベストアンサー
  • SHIMAPEE
  • ベストアンサー率75% (154/203)
回答No.4

「ファイル名を変更してコピー」のようなことをWindowsで行うのでしたらWSH(Windows Script Host)スクリプトもよいのではないでしょうか。 新たなインストールは不要で、コピースクリプトをエディタで作成し、ショートカットをSendToフォルダに置けば準備完了です。ファイルを右クリックで「送り」ます。 SendToを使わずに右クリックメニューを実現するにはコピースクリプトとは別の実装が必要ですが、WSHはレジストリ操作もできますから、それも不可能ではないように思います(すみませんが私はSendToで済ませているので実装した経験はありません)。

orangeStreet
質問者

お礼

確かにVBScriptあたりで作るのもよいのかもしれませんね。 ありがとうございます。

その他の回答 (3)

回答No.3

右クリックというのはエクスプローラ上で、ということですよね? 新規作成と同じ並びでメニューを表示させるのはシェルエクステンションとかいうのを実装しなければならなかったような気がします。これは結構面倒くさいので、私ならSendToフォルダにショートカットを作って、ショートカット先のプログラムは C で作成ですかね。 シェルエクステンションとかいうのを実装するのだったら、C++ (ATL?) かなと思います。

orangeStreet
質問者

お礼

右クリックに追加、は意外と面倒なのですね。。 ありがとうございました。。

  • Lchan0211
  • ベストアンサー率64% (239/371)
回答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#で作るかもしれません。

orangeStreet
質問者

お礼

ありがとうございました。。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

それぞれ、フリーソフト作者が得意にしているツールがあるので、それを使用するのが普通です。 慣れないツールを使うことはバグを生むのと時間が掛かるだけですからね。 簡単な仕事なら、慣れた車を使いたいのと同じです。

orangeStreet
質問者

お礼

確かにそうですね。 ありがとうございました。。

関連するQ&A

  • 特定のファイル名に一括リネームできるソフトを探しています。

    みなさんこんばんは。 例えば 001.txt、002.txt、003.txt、004.txt、005.txt・・・ というファイルを 羅生門.txt、鼻.txt、芋粥.txt、煙管.txt、さまよえる猶太人.txt・・・ という特定のファイル名に一括でリネームできるソフトを探しています。 多くの特定の単語をコピー&ペーストで簡単に変換できないものかと考えています。 今はファイルを選択し右クリックで名前の変更から コピー&ペーストでファイル名を一つ一つリネームしているところです。 連番等のリネームソフトは見つけましたが、上記にありますように、 多くのファイルをそれぞれ異なった単語に簡単にリネームできるソフトが なかなか見つけられません。 『ファイルを選択し右クリックで名前の変更』の手間を 省くことができたら現在の作業がずっと楽になるのです。 ご存知の方はどうぞよろしくお願い致します。

  • 言語バーのツールを左クリックしても出来ない?

    ブログでコピーしたい文字があり青で囲んでコピーして、言語バーのツールを左クリックして単語の登録をしたいのですが、左クリックしても出てきません。と言うか出来ません。 どこか設定がおかしくなってしまったのでしょうか。いろいろ、いじってしまって解らなくなってしまいました。 初心者です!よろしくお願いします。

  • プログラムの選択ができない

    WindwsXPを使用しています。 ファイルから右クリックでプログラムの選択からアプリケーションが選択出来たのが、いつの間にか出来なくなってしまいました。たとえば.txtファイルを右クリックしてプログラムの選択をしたとたん、勝手にインストールされているテキストソフトが立ち上がり、他のソフトの選択ができません。壊れてしまったのでしょうか? 他には特に今のところ不具合が見あたりません。どなたかお教え願います。

  • 言語バーのツールについて

    言語バーにあるツールを右クリックして設定を選ぶと「shell32.dll,Control_RunDLL C:\WINDOWS\system32\input.dll"の実行中に、例外が発生しました」とメッセージが出てきました。エラーがでないようにして、設定が通常通りできるようにするにはどうしたらいいでしょうか。よろしくお願いいたします。

  • プログラムの選択ができない

    あの、テキストドキュメントとか(txt)、JPEGイメージ(JPG)とかファイルを右クリック-プログラムから開く-プログラムの選択(C)..を押すと 一覧が通常は現れますよね? それが前までは一覧見れて選択できたんですが、なんかできなくなってしましました。 元に戻すにはどうすればいいでしょうか? ちなみにシステムの復元は、してみましたけど駄目でした。 ご回答お願いします。 エラーをテキストでご覧ください。 --------------------------- D:\ユーザ名\My Documents\ファイル名.txt --------------------------- 指定されたファイルに対してこの操作を行うプログラムが関連付けられていません。[フォルダ オプション] コントロール パネルでプログラムを関連付けてください。 --------------------------- OK ---------------------------

  • 言語バー

     タスクバーに言語バーがなくなってしまいました。 そこで、ヘルプに従って 「言語バーを表示するには タスク バーを右クリックし、[ツール バー] をポイントし、[言語バー] をクリックします。」 しかし、[ツール バー]のところに、言語バーがありません。どうすればよいでしょうか? よろしくお願いします。

  • ファイル分割ツール、分割後の拡張子を指定したい

    おはようございます。 ファイル分割ツールを使って大きなファイルを分割したいのですが、分割後のファイルが testfile.txt.000 testfile.txt.001 testfile.txt.002 testfile.txt.003 のようになってしまうソフトが多いようです。これを、 testfile000.txt testfile001.txt testfile002.txt testfile003.txt こんな風に最初から指定できる分割ツールはないでしょうか? 拡張子を一括変更するツールを使うと、ファイル末尾の .000 や .001 が拡張子と見なされ、これを .txt に置き換えようとするのですが、そうするとファイル名が重複してしまいます。 バッチファイルですべてのファイル名の末尾に .txt をつけるというのも手ですが、やっぱり最初の分割時点で拡張子も指定できるものがあると便利です。 よろしくお願いします。

  • フォルダ名一括変更ツール

    あるフォルダにファイルが、『A.txt』『B.txt』『C.txt』『D.txt』があって、エクセルのような画面を使用して変更後のファイル名を入力し、『A.txt』→『あいうえお.txt』、『B.txt』→『かきくけこ.txt』・・・という感じで、一括でファイル名を変換できるツールはないのでしょうか。ご存知の方宜しくお願い致します。

  • クリップボードに貼り付けた名前でリネームしたいです

    ある文字列をコピーします。ここでは「abc.jpg」とします。 あるファイル名をクリップボードにコピーされた名前と置き換えたいですが、一発でやる簡単なフリーソフトウェアはないでしょうか? ファイルを選択して右クリック、もしくは、ショートカットキーで一発でファイル名を置き換えてくれる便利なツールがありましたらお教えください。 お願いいたします。

  • C言語でこんなことは可能ですか?

    現在あるプログラムを作りたいと思いC言語の勉強をしています。 それに伴い、下記のプログラムはC言語で作成可能でしょうか。 例) Aのフォルダ内にbというファイル(txt)があるとして、 bのファイル内の「ありがとう」という文字を検索し表示させるプログラム は作成可能でしょうか。表記としては --------------------------------- ファイル名 | 検索文字 ---------------------------------  A    | ありがとう  -------------------------------- としたいと思っているのですが・・・ よろしくお願いします。

専門家に質問してみよう