バッチファイルにドロップしたファイルをコピー

備忘録的な・・・?
とりあえず、色々と制約の多い学校のPCで、インターネット閲覧が可能なアカウントのフォルダに簡単にファイルをコピーできないものかと調べたところ、バッチファイル(.bat)に行き着いた次第。
ファイルをバッチファイルにドロップしたら、それを指定したフォルダにコピーする方向で組み立てる。
参考にしたサイトはいろいろありすぎて、既にどこに行ったか忘r(ぉぃ
以下とりあえず組んだソース。


@ECHO OFF

IF EXIST %1 GOTO FILEDROP
ECHO ファイルをドロップして下さい
GOTO EXIT

:FILEDROP
ECHO ファイル[%1]がドロップされました。
ECHO C:\Users\Public\Downloads\以下にコピーします
copy %1 C:\Users\Public\Downloads\%~n1%~x1
GOTO EXIT

:EXIT

PAUSE

最初のIF文で、バッチファイルが直接起動されたか、ファイルがドロップされたか判別
ドロップされたファイルがあるときは、下の :FILEDROPまでジャーンプ
ECHOにある%1は、ファイルのフルパスを取得。

例) C:\Users\[ユーザー名]\Downloads\test.txt

そのあと、コピー先のファイル名指定をどうすべきか悩んだものの、とりあえず調べて
ファイル拡張子なしのファイル名(%~n1)+ファイル拡張子(%~x1)で済ませることにしました。これでいいかは教えて偉い人
ちなみに、%~x1 は test.txtとかでファイル名と拡張子を区切ってる . (ドット)も含んでるらしい。

そんなこんなで、とりあえずファイル一つをコピーするバッチファイル組んだけど、複数ファイルをまとめて処理するにはどうしたらいいんだろか。

というわけで今回はこれまで。
また記事を書ける時まで・・・

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中