
[ファイルを名前を変えて複数個コピーを作成、を一括で]
http://oshiete.goo.ne.jp/qa/7808481.html
という質問をしていたのですが、
「wordのファイルを、ファイル名を変えて複数コピーするためのフリーソフ
」
http://oshiete.goo.ne.jp/qa/5651889.html
という質問を見つけ、参考にしてバッチを編集したのですが、使い勝手が悪いです。
copy *.* 1.*
copy *.* 2.*
copy *.* 3.*
copy *.* 4.*
copy *.* 5.*
copy *.* 6.*
copy *.* 7.*
copy *.* 8.*
というバッチを作ったのですが、
このことにより、コピーを複数作成したいファイルをバッチファイルのアイコンにドラッグ&ドロップすることにより、カレントディレクトリにコピーが8個作成できるようになったのですが、
ドラッグ&ドロップしたファイル以外に、同一ディレクトリにあるファイルすべてのファイルのコピーが作成されてしまいます。
コピーするのをドラッグ&ドロップしたものだけにする方法があれば教えてください。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
bat ファイルの中に変数 %1~%9 を書いておくと、
ドラッグした複数のファイルのフルパスがそれぞれ代入されます。
(ドラッグするファイルが足りない場合はその分はヌルになります)
(ここでは蛇足でしょうが、フォルダをドロップするとフォルダ名がフルパスで代入されます。
なのでフォルダ以下の全ファイルが対象なら利用できます)
なので、例えば
for %%a in ( %1 %2 %3 %4 %5 %6 %7 %8 %9 ) do copy %%a *.*
としておけば順次コピーされます。
注意点としては
・フルパスが長くなるので、ファイル数が多い場合はfor文がコマンド1行に収まらなくなる可能性がある
・(私の既存知識では)変数は9個までなので、それより多いファイルをドロップすると
対象にならないファイルが生じる(多分)
があるので、充分ご注意ください。
No.4
- 回答日時:
enmachoさん、こんな感じでいかがでしょうか。
20から30までの連番をつけてコピーを作るサンプルです。
echo off
for /L %%i in (20,1,30) do copy "%~1" "%~dpn1_%%i%~x1"
pause
No.3
- 回答日時:
コピー元を保管する専用のフォルダを作って、そこにあるものをコピーするようにするのが一番簡単ですね。
つまり、コピー元にする以外の余分なファイルを置かないということです。
そのバッチファイルは欠点があって、コピーし終わったファイルを再びコピーを繰り返してしまうことがあるので危険なプログラムですね。
ですから、名前付きでコピーし終わったファイルは別のフォルダに保存するようにした方が良いでしょう。
copy *.* 完了\1.*
とすれば、終わったものは「完了」というフォルダの中に作られます。
また、「*.*」の部分を工夫すれば色々できます。
MS-WORDファイルに限っているなら、
copy *.* 1.*
ではなく、
copy *.doc* 1.doc
の方が良いでしょう。
また、同じフォルダにコピーしたいものとしたくないものが混在する場合は、たとえば、ファイル名の1文字目に「A」の付くものだけ行う、などの工夫ができます。
copy A*.doc 完了\1.doc
No.2
- 回答日時:
とりあえず3個分ならこんな感じでしょうか。
copy %1 "%~d1%~p1%~n11%~x1"
copy %1 "%~d1%~p1%~n12%~x1"
copy %1 "%~d1%~p1%~n13%~x1"
ドロップしたファイルと同じ場所にコピーを作ります。
複数のファイルをドロップした場合は最初だけ有効です。
複数ファイルをドロップするにはfor文でコマンドをまわす必要がありますから
バッチファイルの文法を勉強してください。
No.1
- 回答日時:
ファイルをコマンドにドラッグ&ドロップすると、引数としてファイル名が渡ってきますので、以下のようにするといいと思います。
copy %1 1%~x1
copy %1 2%~x1
copy %1 3%~x1
copy %1 4%~x1
copy %1 5%~x1
copy %1 6%~x1
copy %1 7%~x1
copy %1 8%~x1
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のエクセルファイルが止ま...
-
エクセルのハイパーリンクがコ...
-
frxファイルの役目
-
ファイルをコピーできない
-
[エクセル]コピーするとオブジ...
-
「ファイルが見つかりません D...
-
FTPとファイルコピーの違いにつ...
-
Vba初心者です。下記のコード助...
-
エクセルで複数のコメントのサ...
-
ファイルサーバ上のファイルが...
-
4時間
-
bat 同名ファイルコピー時にリ...
-
EXCELの書式設定のユーザー定義...
-
バッチファイル XCOPYで上書き...
-
開いている別のファイルにExcel...
-
エクセル 同じデータなのに違う...
-
Accessファイルをコピーすると...
-
batでのスタートアップです
-
VB.NETでのネットワーク参照
-
VB6で、Form1をコピーする方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
frxファイルの役目
-
ファイルサーバ上のファイルが...
-
Vba初心者です。下記のコード助...
-
エクセルのハイパーリンクがコ...
-
同じファイル名 上書きしないフ...
-
xcopyでのバッチコピー方法でコ...
-
バッチファイル 別ファイルにリ...
-
[エクセル]コピーするとオブジ...
-
vbsでファイルやフォルダのコピ...
-
バッチファイルのコピーで
-
バッチファイル XCOPYで上書き...
-
現在のブックを閉じないで、マ...
-
bat 同名ファイルコピー時にリ...
-
エクセル2010、図が大きすぎま...
-
アクセス クエリを別のファイ...
-
ハイフネーションされている英...
-
特定のエクセルファイルが止ま...
-
マインクラフトPCをプレイしよ...
-
パワポでスライドをコピーでき...
おすすめ情報