プロが教える店舗&オフィスのセキュリティ対策術

ファイル選択ダイアログが画面上に出てきた際、いつも決まったフォルダ内の全ファイルをアップロードしているので、ファイルアップロード部分のみ、バッチやVBSにてクリックするだけでファイルをアップロードするというものを作りたいのですが、全くの初心者で、ファイル選択ダイアログから作るという情報しか出ないため、どなたか、教えて頂けますでしょうか。

質問者からの補足コメント

  • HTTPのページとなります。
    ファイル選択ダイアログが表示されるまでは手動で良いのですが、
    ファイル選択部分だけ、選択する階層が深いので、バッチやvbsなどで簡単にできたらと思い、ご相談させて頂きました。

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/04/12 12:59
  • HTTPの画面で、ファイルのアップロードボタンを押下し、
    その後、出てきたファイル選択ダイアログに対して、「指定のフォルダにある全ファイルを選択」部分だけ、簡易化できればと思っています。

    No.2の回答に寄せられた補足コメントです。 補足日時:2017/04/12 13:05
  • ややこしい形で質問してしまってすみません。

    HTTPのページ(通常のWebサイトのようなもので企業間でやり取りしているファイル交換サイト?)でファイルのアップロードボタンを押下し、
    指定のフォルダにある全ファイルをアップロードさせるだけの簡易バッチを作れればと思い、質問させて頂いております。
    ですので、サーバー側のプログラムを作成したりはしておりません。
    日次でファイルをアップロードし、またフォルダ階層が深い為、
    画面を開いて、アップロードボタンを押すまでは手動で行い、ファイル選択ダイアログでの指定はバッチやvbsでできればと思い、ご相談させて頂きました。

    No.3の回答に寄せられた補足コメントです。 補足日時:2017/04/12 13:18
  • vbsでファイル選択ダイアログ画面自体を表示することや、
    バッチでフォルダ階層を指定することなどは可能だったのですが、
    既に表示しているダイアログに、フォルダ・ファイル選択処理だけを記載したバッチ・VBSを実行することによって、あとは「ファイルを開く」を押してアップロードするだけにしたかったのですが、
    既存の選択ダイアログに対してのバッチやvbsでの処理方法がわからず、ご確認させて頂いておりました。

    No.4の回答に寄せられた補足コメントです。 補足日時:2017/04/12 15:21
  • つらい・・・

    フリーソフトをご教示頂いたのですが、ダウンロードできない環境の為、
    vbsでアップロード対象のHTTPのURLを貼り付けて対処する方法で頑張れればと思い、
    curlとvbsでアップロードする方法を見つけました。
    参考URL:http://sadtoy.blog.fc2.com/blog-entry-41.html

    84行目の「cmd = "curl -F upload=@・・・」の「http://test.com」はアップロード先のURLという意味合いでしょうか?
    ここで利用されている”file”も何をしているのかがわからない状況です。

    また、カレントディレクトリ配下すべてをアップロードではなく、指定したフォルダ内の全ファイルアップロードしたい場合、以下をどのように修正すればよろしいでしょうか?
    できれば、絶対パスで記載できればと思っています。
    すみませんが、ご教示頂ければ幸いです。

      補足日時:2017/04/13 11:24
  • つらい・・・

    そうなんですね。。。すみません。。。。

    vbsでアップロードしたい場合、
    strFile = でURLを設定し、
    xmlhttp.open "PUT",strUrl を利用して、アップロード可能でしょうか?

    フォルダ内の全ファイルについては、
    先ほどのURLのカレントディレクトリ部分を以下へ変更したのですが、どのようにアップロードすればよろしいでしょうか・・・?
    Set objWshShell = CreateObject("WScript.Shell")
    objWshShell.CurrentDirectory="★アップロード対象フォルダ★"
    mCurrentFolder = objWshShell.CurrentDirectory

    No.7の回答に寄せられた補足コメントです。 補足日時:2017/04/13 12:29
  • 色々とご教示頂き、ありがとうございます。

    申し訳ないのですが、勉強の為以下ご教示頂くことは可能でしょうか?
    >参考URL:http://sadtoy.blog.fc2.com/blog-entry-41.html
    > 84行目の「cmd = "curl -F upload=@・・・」の「http://test.com」はアップロード先のURLと>いう意味合いでしょうか?
    >ここで利用されている”file”も何をしているのかがわからない状況です。

    No.8の回答に寄せられた補足コメントです。 補足日時:2017/04/13 13:20

A 回答 (9件)

ファイルのやり取りをなにでしているかによりますね


httpベースですとセキュリティの絡みで半自動化は相当きびしいです
ftpベースならそこそこ簡単だと思います。
この回答への補足あり
    • good
    • 0

> ファイル選択ダイアログが画面上に出てきた際、



フツー、これが突然画面に表示される事はありません。
何かの操作をして、その結果表示されるのでは?
であれば、そもそもの操作から自動化するのが良いと思いますが。
ファイルをアップロードするために、FFFTPを起動してアップロード先を選び、アップロードボタンを押した時に表示されるなら、バッチとFFFTPのコマンドで処理とか。

FFFTPの自動化(複数設定へ自動アップロード): 大岡山で働くホームページ制作会社アズーロの社長ブログ
http://blog.livedoor.jp/azzurro_co_jp/archives/4 …

別のソフトでファイル選択ダイアログが表示された時に、質問の動作されたら困るでしょうし。


OSはあんまり関係ないでしょうが、
・どういうソフトで
・どういう手順で
・どういう、いくつくらいのフォルダから
・それぞれいくつのファイルを
・どういう、いくつくらいのアップロード先の
・どういうフォルダにアップロードするのか?
具体的な情報は書く必要は無いですが、ざっくり手順を提示してみては?
この回答への補足あり
    • good
    • 0

httpですか・・・


サーバー側のプログラムはご自身で編集できるのでしょうか?
であればUIを変更し、ドラッガブルな領域をつくり、
ファイルを落とし込んでやるのがラクかもしれません
この回答への補足あり
    • good
    • 0

もしくはwgetなどのクローラでファイルを送りつけるとかなら


やりようはあるかと。
その場合は逆にブラウザは使いませんけどね
この回答への補足あり
    • good
    • 0

Windows10なら、


ファイル選択ダイアログを表示し、
当該のフォルダを開き、
上部のアドレスバーの左にあるフォルダアイコンを、
左の欄の「クリック アクセス」の上にドラッグ&ドロップすると、
クイックアクセスに登録されますので、
そこから素早くフォルダを開く事が出来るようになるかと思います。

バッチファイルを利用した方法ですと、
バッチファイルからクリップボードにフォルダのパスを送り、
ファイル選択ダイアログに手動で「Ctrl」+「V」キーを押して貼り付け、
Enterキーでフォルダを開き、
アップロードするファイルを選択する、というのではいかがでしょうか。
フォルダを辿る手間は無くなるかと思います。

フリーソフトが使用出来る環境でしたら、「AutoHotkey」という操作を自動化するソフトを利用するのも良いかと思います。

以下のファイルをダウンロードし、
解凍してフォルダを開き、
「スクリプト」(.txt)を開き、
フォルダのパスを、ご自身の目的のフォルダのパスに書き換え、
上書き保存して閉じ、
当該のファイル選択ダイアログを開き、
中にある「スクリプト実行」(.exe)を実行します。

成功すれば、指定フォルダが開き、
そのフォルダ内の全てのファイルが選択された状態になります。
(※複数ファイルが選択可能なダイアログであった場合。)

http://qa99.webcrow.jp/file/AutoHotkey-Select-Fi …
    • good
    • 0

> 既存の選択ダイアログに対してのバッチやvbsでの処理方法がわからず、



バッチ処理は、基本的にはいくつかの処理を連続して実行するための機能で、質問のように「表示されているダイアログを操作する」とかってコマンドがWindowsの標準であるわけでないですから、実現可能性が少し低いです。
VBSなら実現可能性はもうちょっとありますが、ファイルダイアログのウィンドウを検索、キーを送ったりクリック処理を送ったり、どういう操作で実現可能か、操作しているブラウザなんかにもよりますので色々試さなきゃ実現できません。


質問のような事を比較的簡単に実現するって事だと、それ用のソフト利用するのがお勧めです。
自分の一押しはUWSCです。

UWSC
http://www.uwsc.info/

実際のスクリプトは、具体的な画面なんかが無いと作れませんが、
対象ダイアログが表示された状態で、予め指定しといたショートカットキーを押すと、
 ・画面からダイアログを探す
 ・ダイアログのファイル名指定を探す
 ・ファイル名に所定のフォルダの文字列を入力
 ・Enterキーの操作
とかってスクリプトを実行させるなんかは可能なハズ。
    • good
    • 0

curlを利用したいと書いていますが、これもcurl自体がダウンロードしてこなければいけません


よって「フリーソフトをご教示頂いたのですが、ダウンロードできない環境」である限り
無理ですね
この回答への補足あり
    • good
    • 0

総じてフリーを使うか、諦めるかのどちらかです


技術的にはajaxライクな処理でできないこともないとは思いますが
ご自身が管理されているサーバーではないとのことでほぼ無理です
この回答への補足あり
    • good
    • 0

cmd変数にcurlで利用可能なパラメータをつけた文字列を投入しています


パラメータについてはcurlの仕様をマニュアルなどで確認してください

その後 WshShell.Runでcmdを実行することにより、
windowsのコマンドプロンプトで実行するのと同じような効果が得られます
    • good
    • 0
この回答へのお礼

たくさんご教示頂きまして、ありがとうございました。
とても勉強になりました。curlのマニュアルをみて勉強します。

お礼日時:2017/04/13 13:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!