[前の記事]« ファイルが一定数を超えたとき最も古いファイルを削除したい
[次の記事]regファイルから抽出したUTF16の文字列を文字化けなしでエクスポートするには »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「COPY,XCOPY…ファイルやディスクの複写・連結・バックアップ」索引へ

xcopyの確認メッセージに自動応答したい

1478.
XCOPYの確認メッセージを消したい。
2006年10月24日(火) 19時19分
ごりごり
●DOS/Windowsのバージョン↓
OSはWinXP Professional ServicePack2です。

(以下ご自由に質問文をお書きください)

はじめまして。
XCOPYの質問です。

ファイルをネットドライブから、ローカルドライブにコピーします。
コピー先に同一フォルダが無い場合、フォルダを作成してコピーします。
コピー対象は、日付が更新されているか存在しないファイルのみです。
突然のネットワーク切断時、中途半端にコピーをしたくないので、
ローカルに一旦ワークのコピー対象ファイルとフォルダを作成します。
ワークのコピー対象ファイルとフォルダが完成したら、それをローカル同士で、
コピーさせます。

そこで、つまづいてる箇所ですが、フォルダが無い場合のフォルダ作成コピーです。
いろいろ試したのですが、良いコピー方法が見つからないので、
バッチで、XCOPYを以下のように、記述することにしました。

すると、以下のような、確認メッセージが表示されます。
このメッセージを表示せず、自動で"F"入力する方法をご教示お願いします。


C:\>xcopy e:\a\b\ccc.txt e:\new\a\b\ccc.txt /s /i /q /y
E:\new\a\b\ccc.txt は受け側のファイル名ですか、
またはディレクトリ名ですか
(F= ファイル、D= ディレクトリ)? f
1 個のファイルをコピーしました
●DOS/Windowsのバージョン↓

(以下ご自由に質問文をお書きください)
1482.
Re:XCOPYの確認メッセージを消したい。
2006年10月25日(水) 20時07分
otn
>ファイルをネットドライブから、ローカルドライブにコピーします。
>コピー先に同一フォルダが無い場合、フォルダを作成してコピーします。
>コピー対象は、日付が更新されているか存在しないファイルのみです。


>そこで、つまづいてる箇所ですが、フォルダが無い場合のフォルダ作成コピーです。
>いろいろ試したのですが、良いコピー方法が見つからないので、
>バッチで、XCOPYを以下のように、記述することにしました。
>
>すると、以下のような、確認メッセージが表示されます。
>このメッセージを表示せず、自動で"F"入力する方法をご教示お願いします。
>
>
>C:\>xcopy e:\a\b\ccc.txt e:\new\a\b\ccc.txt /s /i /q /y

やりたいことはフォルダごとのコピーじゃなくて、1ファイルのコピーだけど、途中のフォルダが無いかもしれないということですか?

フォルダ名が最初から分かっているなら、
md e:\new 2>NUL
md e:\new\a 2>NUL
md e:\new\a\b 2>NUL
copy e:\a\b\ccc.txt e:\new\a\b\ccc.txt >NUL
と、あらかじめフォルダを作ってからコピーすればいいと思いますが。md はすでにフォルダがあれば何もしません(エラーメッセージはでるのでNULにリダイレクト)。

echo F | xcopy e:\a\b\ccc.txt e:\new\a\b\ccc.txt /s /i /q /y

とパイプやファイルからコマンドへの入力を与えることも出来ますが、xcopy が予期しないエラーを出したりした場合には多分xcopyコマンドがハングアップします。
1484.
Re:XCOPYの確認メッセージを消したい。
2006年10月26日(木) 13時35分
ごりごり
otnさん。ありがとうございます。

>
>やりたいことはフォルダごとのコピーじゃなくて、1ファイルのコピーだけど、途中のフォルダが無いかもしれないということですか?

そうです。説明が下手ですみません。

>
>フォルダ名が最初から分かっているなら、
>md e:\new 2>NUL
>md e:\new\a 2>NUL
>md e:\new\a\b 2>NUL
>copy e:\a\b\ccc.txt e:\new\a\b\ccc.txt >NUL
>と、あらかじめフォルダを作ってからコピーすればいいと思いますが。md はすでにフォルダがあれば何もしません(エラーメッセージはでるのでNULにリダイレクト)。

サブフォルダはわかりません。

>
>echo F | xcopy e:\a\b\ccc.txt e:\new\a\b\ccc.txt /s /i /q /y

この手を使わせて頂きます。

>
>とパイプやファイルからコマンドへの入力を与えることも出来ますが、xcopy が予期しないエラーを出したりした場合には多分xcopyコマンドがハングアップします。

ハングアップすると言うことは、
if not errorlevel 0 goto xcopy_err
でも、回避出来ないんですよね。無視するかな...

1487.
Re:XCOPYの確認メッセージを消したい。
2006年10月27日(金) 16時02分
hiei
XCOPYは複数ファイル用だから、フォルダ指定まででいいんじゃない?

1489.
Re:XCOPYの確認メッセージを消したい。
2006年10月30日(月) 18時15分
otn
>XCOPYは複数ファイル用だから、フォルダ指定まででいいんじゃない?

そうですね。
・ファイル名を変えなくてよい
・パス名は元のバス名の先頭に\newを挿入したもの
ということであれば、

for %%A in (%FILENAME%) do xcopy %%A %%~dA\new%%~pA /s /i /q /y

ファイル名が引数たとえば%1なら、forを使うまでも無く、
xcopy %1 %~d1\new%~p1 /s /i /q /y
 
 

1478.XCOPYの確認メッセージを消したい。 ごりごり 06/10/24(火) 19:19
1482.Re:XCOPYの確認メッセージを消したい。 otn 06/10/25(水) 20:07
1484.Re:XCOPYの確認メッセージを消したい。 ごりごり 06/10/26(木) 13:35
1487.Re:XCOPYの確認メッセージを消したい。 hiei 06/10/27(金) 16:02
1489.Re:XCOPYの確認メッセージを消したい。 otn 06/10/30(月) 18:15
 
 


カテゴリー「COPY,XCOPY…ファイルやディスクの複写・連結・バックアップ」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2006年10月24日 14:00に投稿されたエントリーのページです。

ひとつ前の投稿は「ファイルが一定数を超えたとき最も古いファイルを削除したい」です。

次の投稿は「regファイルから抽出したUTF16の文字列を文字化けなしでエクスポートするには」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート