[ファイルを名前を変えて複数個コピーを作成、を一括で]
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.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
No.2
- 回答日時:
とりあえず3個分ならこんな感じでしょうか。
copy %1 "%~d1%~p1%~n11%~x1"
copy %1 "%~d1%~p1%~n12%~x1"
copy %1 "%~d1%~p1%~n13%~x1"
ドロップしたファイルと同じ場所にコピーを作ります。
複数のファイルをドロップした場合は最初だけ有効です。
複数ファイルをドロップするにはfor文でコマンドをまわす必要がありますから
バッチファイルの文法を勉強してください。
No.3
- 回答日時:
コピー元を保管する専用のフォルダを作って、そこにあるものをコピーするようにするのが一番簡単ですね。
つまり、コピー元にする以外の余分なファイルを置かないということです。
そのバッチファイルは欠点があって、コピーし終わったファイルを再びコピーを繰り返してしまうことがあるので危険なプログラムですね。
ですから、名前付きでコピーし終わったファイルは別のフォルダに保存するようにした方が良いでしょう。
copy *.* 完了\1.*
とすれば、終わったものは「完了」というフォルダの中に作られます。
また、「*.*」の部分を工夫すれば色々できます。
MS-WORDファイルに限っているなら、
copy *.* 1.*
ではなく、
copy *.doc* 1.doc
の方が良いでしょう。
また、同じフォルダにコピーしたいものとしたくないものが混在する場合は、たとえば、ファイル名の1文字目に「A」の付くものだけ行う、などの工夫ができます。
copy A*.doc 完了\1.doc
No.4
- 回答日時:
enmachoさん、こんな感じでいかがでしょうか。
20から30までの連番をつけてコピーを作るサンプルです。
echo off
for /L %%i in (20,1,30) do copy "%~1" "%~dpn1_%%i%~x1"
pause
No.5
- 回答日時:
bat ファイルの中に変数 %1~%9 を書いておくと、
ドラッグした複数のファイルのフルパスがそれぞれ代入されます。
(ドラッグするファイルが足りない場合はその分はヌルになります)
(ここでは蛇足でしょうが、フォルダをドロップするとフォルダ名がフルパスで代入されます。
なのでフォルダ以下の全ファイルが対象なら利用できます)
なので、例えば
for %%a in ( %1 %2 %3 %4 %5 %6 %7 %8 %9 ) do copy %%a *.*
としておけば順次コピーされます。
注意点としては
・フルパスが長くなるので、ファイル数が多い場合はfor文がコマンド1行に収まらなくなる可能性がある
・(私の既存知識では)変数は9個までなので、それより多いファイルをドロップすると
対象にならないファイルが生じる(多分)
があるので、充分ご注意ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/26 09:50
- UNIX・Linux Ubuntu でinvalid filenameとなるファイルをコピーする方法 3 2023/06/08 22:26
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
- Visual Basic(VBA) 別ブックからシートのコピー 3 2022/04/01 20:07
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Excel(エクセル) Excei で、項目の横展開 2 2023/07/15 09:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルコピーのスクリプトで...
-
Gitについて質問。 クローンし...
-
パワポでスライドをコピーでき...
-
バッチファイル XCOPYで上書き...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルで複数のコメントのサ...
-
現在のブックを閉じないで、マ...
-
マインクラフトPCをプレイしよ...
-
Vba初心者です。下記のコード助...
-
エクセルVBAでファイル・シート...
-
ファイルサーバ上のファイルが...
-
VBSで作成したフォルダにファイ...
-
AVIUTlって iPadでも使えますか?
-
[C#]Excelファイルをコピーする...
-
パソコン内の写真が消えた?
-
同じファイル名 上書きしないフ...
-
エクセル2010、図が大きすぎま...
-
DVD-Rの作成ができない
-
FSO.CopyFileでのエラー無視方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
現在のブックを閉じないで、マ...
-
エクセルのマクロについて教え...
-
frxファイルの役目
-
バッチファイル XCOPYで上書き...
-
エクセルのハイパーリンクがコ...
-
エクセルVBAで開いているファイ...
-
ファイルサーバ上のファイルが...
-
エクセル2010、図が大きすぎま...
-
[エクセル]コピーするとオブジ...
-
バッチファイルのコピーで
-
アクセス クエリを別のファイ...
-
Vba初心者です。下記のコード助...
-
バッチファイル 別ファイルにリ...
-
同じファイル名 上書きしないフ...
-
Gitについて質問。 クローンし...
-
vbsでExcelのシートをコピーす...
-
マインクラフトPCをプレイしよ...
-
xcopyでのバッチコピー方法でコ...
-
ファイルをコピーできない
おすすめ情報