パソコン困りごと掲示板
 ◇-?不特定のフォルダよりXcopyをする方法-アマチュア-05/23-06:34(1273)-No.509113
   ┗?!Re:不特定のフォルダよりXcopyを...-ZONE-05/23-19:12(1260)-No.509115
     ┗?!!Re:不特定のフォルダよりXcopy...-アマチュア-05/24-01:29(1254)-No.509120
       ┗?!!?Re:不特定のフォルダよりXcopy...-アマチュア-05/24-04:00(1252)-No.509121
         ┗?!!?!Re:不特定のフォルダよりXcop...-ZONE-05/24-07:25(1248)-No.509122
           ┗?!!?!【解決】Re:不特定のフォルダ...-アマチュア-05/24-12:35(1243)-No.509124

▲このページのトップに戻る
509113不特定のフォルダよりXcopyをする方法アマチュア 2012/05/23-06:34

メーカー名:DELL デル
OS名:Windows7
パソコン名:humei
ソフト関連:ブラウザFireFox
使用回線:光
--
Xcopyで質問があります。
@echo off
for /f %%i in (フォルダ名A.txt) do (
net use R: \\AAA\BBB\CCC
mkdir %%i
xcopy /d /f /y R:\*%%j\*ファイル名B.* .\%%i

と作ったのですが、ファイルがコピーされません

不特定のフォルダ名内のあるファイル名のみ抽出したい場合どのようなコマンドを入れた方がいいのでしょうか?
たとえば \\分からないフォルダ名内の“HOST"と付いたファイル名のみコピーしたい時、どういうコマンドが好ましいでしょうか?
ちなみにファイルはネット上ドライブに入っています。
xcopy R:\*%%j\ファイル名B .\%%i /d /f /y
に変えてみたのですが ダメでした。 Xcopyとか使うときはあいまい検索とかで使うコマンド(たとえば、* とか%) は使えますか? 素人なので困ってしまいます。
複数(不特定)のフォルダから、ある名前のファイル(xlsやdocやtxt)のみ、ネット上のHDDから、抽出したいのです。
どうか教えてください。どうぞよろしくお願いします。

▲このページのトップに戻る
509115Re:不特定のフォルダよりXcopyをする方法ZONE 2012/05/23-19:12

記事番号509113へのコメント
アマチュアさんは No.509113「不特定のフォルダよりXcopyをする方法」で書きました。

「フォルダ名A.txt」の内容は?
フォルダ名のPATHにスペースは含まれないのですよね?
「フォルダ名A.txt」から「%%i」と「%%j」を取得する場合は「"tokens=1-2"」が必要。
net use行は、for文の前へ。
doの後ろに開始の「(」はあるが、終了の「)」がどこにも無い。
「%%j」に「*」を付加している理由は?
ファイル名Bにスペースは含まれないのですよね?

▲このページのトップに戻る
509120Re:不特定のフォルダよりXcopyをする方法アマチュア 2012/05/24-01:29

記事番号509115へのコメント
ZONEさんは No.509115「Re:不特定のフォルダよりXcopyをする方法」で書きました。
>「フォルダ名A.txt」の内容は?
あんまり関係ないと思い書きませんでしたが、TXTの中にはそれぞれのファイル(たとえば“HOST”)が入った
フォルダ名を並べて書きました。

フォルダA フォルダAのIPアドレス(1.172.1.100)
フォルダB フォルダBのIPアドレス(2.172.2.200)
フォルダC フォルダCのIPアドレス(3.172.3.300)


>フォルダ名のPATHにスペースは含まれないのですよね?

含まれていません。

>「%%j」に「*」を付加している理由は?

あいまい検索ができるかなと思って。引き出したいファイル名にそれぞれのフォルダ名が
ついており、共通ワードで“HOST”がついています。なのでファイル名Bには“HOST"と入れています。

>ファイル名Bにスペースは含まれないのですよね?
含まれていません。

以上よろしくお願いします。

▲このページのトップに戻る
509121Re:不特定のフォルダよりXcopyをする方法アマチュア 2012/05/24-04:00

記事番号509120へのコメント
アマチュアさんは No.509120「Re:不特定のフォルダよりXcopyをする方法」で書きました。

試行錯誤してようやくコピーができるようになりました。
@echo off & setLocal EnableDELAYedExpansion

net use R: \\AAA\BBB\CCC

for /f %%i in (フォルダ名.txt) do (
mkdir %%i
if exist R:\%%i\*HOST*, xcopy R:\%%i\*HOST* .\%%i /d /f /y /z )
net use R: /n /d

しかし ファイルが存在しないときなど一回目はコピーできるのですが、
2回目のBatファイルを実行時からファイルがすでに存在すると、コピーできません。
Batファイルを2回目から実行したとき、強制的にコピー(上書き)する方法はありますか?




▲このページのトップに戻る
509122Re:不特定のフォルダよりXcopyをする方法ZONE 2012/05/24-07:25

記事番号509121へのコメント
アマチュアさんは No.509121「Re:不特定のフォルダよりXcopyをする方法」で書きました。

xcopyの「/D」オプションを外すだけでは駄目ですか?

▲このページのトップに戻る
509124Re:不特定のフォルダよりXcopyをする方法アマチュア 2012/05/24-12:35

記事番号509122へのコメント
ZONEさんは No.509122「Re:不特定のフォルダよりXcopyをする方法」で書きました。

解決しました。/Dを外したら、2回目もファイルがコピーできました。まだまだ、自分の勉強が足りませんでした。
ZONEさん。どうもありがとうございました。