グッドデザイン賞を受賞したウォーターサーバー >>

AAAのパソコンのDドライブの111というフォルダを、ネットワーク経由でBBBのパソコンのDドライブの222という共有フォルダ内に333というフォルダ内へxcopyでコピーするバッチ(backup.bat)を作ってタスクスケジューラで1日1回自動実行させようと思うのですが、うまくいきません。どうすればよいのでしょうか?

AAAパソコン:Windows2000 professional SP4
       000フォルダ内にbackup.bat(共有フォルダではないです)
       111フォルダは共有フォルダではないです
       ユーザーアカウント⇒Administrator
       パスワードはないです
      
BBBパソコン:WindowsXP professional SP2
       222フォルダは共有フォルダ
       333フォルダは222の共有フォルダの中
       ユーザーアカウント⇒バックアップ
       パスワード⇒123

バッチファイル(backup.bat)
 ↓
 net use \\BBB\222 123 /user:バックアップ
 xcopy d:\111 \\BBB\222\333\ /E/C/F/H/R/K> d:\バックアップログ.log
 net use \\BBB\222 /delete

上記バッチファイルをAAAパソコンの「タスクの実行するファイル名」に直接登録(d:\000\backup.bat)して実行させてみたのですが、タスクの詳細設定のログ表示でログを見ると、『タスクは次の終了コードで完了しました:(1).』となっていて実行されませんでした。
cmd.exe /c d:\000\backup.batでタスク登録してもだめでした。

バッチファイル(backup.bat)をダブルクリックして実行するとBBBパソコンにコピーできます。

タスク設定時の
  実行するアカウント名⇒AAA\Administrator
  パスワードはなし

よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

パソコンAAAのアカウントAdministraorにパスワードを設定し、


タスク実行時にもそのパスワードを設定してみて下さい。

それで実行できれば、参考URLにあるとおり原因はセキュリティ上の仕様なのでしょう。
WindowsXP以降で発生する、と書かれているので原因が違っているかもしれませんが・・・

参考URL:http://support.microsoft.com/kb/299854/ja

この回答への補足

パスワードを設定してもダメでした。
cmd.exe /c d:\000\backup.batを cmd.exe /c "d:\000\backup.bat"というふうに「ダブルクォーテーション」をつけると実行できました。
ありがとうございました。

補足日時:2007/03/14 15:10
    • good
    • 0
この回答へのお礼

ありがとうございます。
明日出張ですので、明後日ためしてみます。

別件で、リナックスサーバのデータをAAAのパソコンにタスクでバックアップをしているのですが、実行するアカウント名⇒AAA\Administrator パスワードなしで実行できています。

質問に書き忘れたのですが、AAAパソコンからBBBパソコンへのxcopyタスクですが、手動でタスクの実行をしても実行されませんでした・・・・・。

お礼日時:2007/03/11 22:58

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qネットワークドライブを見るバッチをタスクで実行不可

「ネットワークドライブ経由で他サーバ(仮にサーバB)のファイルを削除する」バッチを作成しました。

このバッチをサーバAへ置き、手動で実行すると上手く動くのですが、
タスクスケジューラに設定して実行すると失敗してしまいます。

確認用に下記ロジックを試してみると、
 dir "Z:\files" (Zがネットワークドライブ)
手動ではファイル一覧が表示され、タスクからだと何も表示されず終わります。

サーバAへはAdministratorでログインしており、タスクを実行するアカウントも
Administratorを使用し、もちろんAdministrators権限も持っています。

実行環境はwindows server 2003 です。(サーバAB両方共)

一つ気になる点としては、サーバAへはリモートデスクトップでログインしています。
このあたりの複合的な要素で権限が変わっているのかもしれませんが確認方法が判らず
困っております。

タスクからでも同様に動かせる方法や、バッチ上から実行中アカウントを知る方法など
ご存知の方がいらっしゃいましたらご回答をお願い致します。

「ネットワークドライブ経由で他サーバ(仮にサーバB)のファイルを削除する」バッチを作成しました。

このバッチをサーバAへ置き、手動で実行すると上手く動くのですが、
タスクスケジューラに設定して実行すると失敗してしまいます。

確認用に下記ロジックを試してみると、
 dir "Z:\files" (Zがネットワークドライブ)
手動ではファイル一覧が表示され、タスクからだと何も表示されず終わります。

サーバAへはAdministratorでログインしており、タスクを実行するアカウントも
Administratorを使用し、もちろ...続きを読む

Aベストアンサー

手動では動くけどタスクスケジューラでは動かないという場合は、作業ディレクトリを指定してないという場合が多いようですが、指定していますか。

「タスクスケジューラ バッチファイル」で検索するといろいろなケースが見つかります。

下記など参考になるかと思います。

http://tobysoft.net/wiki/index.php?Windows%2FVista%2F%A5%BF%A5%B9%A5%AF%A5%B9%A5%B1%A5%B8%A5%E5%A1%BC%A5%E9%A1%BC%A4%C7%A5%D0%A5%C3%A5%C1%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2%BC%C2%B9%D4%A4%B9%A4%EB%CA%FD%CB%A1

http://mroom.cool.ne.jp/nikki/archives/000059.html

http://webcache.googleusercontent.com/search?q=cache:6Ryof9huGB8J:blogs.wankuma.com/rapt/archive/2010/04/22/188276.aspx+%E3%82%BF%E3%82%B9%E3%82%AF%E3%82%B9%E3%82%B1%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%A9+%E3%83%90%E3%83%83%E3%83%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB&cd=3&hl=ja&ct=clnk&gl=jp&source=www.google.co.jp

手動では動くけどタスクスケジューラでは動かないという場合は、作業ディレクトリを指定してないという場合が多いようですが、指定していますか。

「タスクスケジューラ バッチファイル」で検索するといろいろなケースが見つかります。

下記など参考になるかと思います。

http://tobysoft.net/wiki/index.php?Windows%2FVista%2F%A5%BF%A5%B9%A5%AF%A5%B9%A5%B1%A5%B8%A5%E5%A1%BC%A5%E9%A1%BC%A4%C7%A5%D0%A5%C3%A5%C1%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2%BC%C2%B9%D4%A4%B9%A4%EB%CA%FD%CB%A1

http://mroom.cool...続きを読む

QWindowsServer2012で、タスクスケジューラでのバッチ実行だとうまくいかない

WindowsServer2012で、タスクスケジューラで、夜間にNASへファイルをコピーするバッチを動かしています。バッチの中でログを書き出すようにしているので、実行されているのは間違いありませんが、以下に示すように「パスが見つからない」ということになってしまいます。

このバッチファイルをそのまま、手動で起動すると、全く問題なくコピーされますが、タスクスケジューラーから起動した場合はうまくいきません。

バッチの内容
------------

rem net use X: \\192.168.xx.xx\dbback /USER:xxxxxx xxxxxx


rem /**********************************/
rem ログファイルを格納するフォルダ
D:
cd \LOG
rem /**********************************/
rem
echo /**** copy Start *******************************/
date /T
time /T
echo on


copy "D:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\xxxx.bak" X:\xxxx.bak /Y
copy "D:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\xxxx1.bak" X:\xxxx1.bak /Y
copy "D:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\xxxx11.bak" X:\xxxx11.bak /Y
echo /**** copy END *******************************/
time /T
echo .
-------------

タスクスケジューラから実行した場合のログ
------------
(略)

D:\log>copy "D:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\xxxx.bak" X:\xxxx.bak /Y
指定されたパスが見つかりません。
0 個のファイルをコピーしました。

D:\log>copy "D:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\xxxx1.bak" X:\xxxx1.bak /Y
指定されたパスが見つかりません。
0 個のファイルをコピーしました。

D:\log>copy "D:\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\xxxx11.bak" X:\xxxx11.bak /Y
指定されたパスが見つかりません。
0 個のファイルをコピーしました。

(略)
------------------

手動でこのバッチを起動した場合は、「1個のファイルをコピーしました」が記録されます。

Xドライブはあらかじめネットワークドライブとして指定してありますし、ログオンしたままの状態です。

タスクで実行した場合に、ログも記録されない=実行されないのであれば、何か設定が悪いというのはわかりますが、手動で問題なく稼働するバッチをタスクから実行した場合にこのような結果になるのが謎です。

よろしくお願い致します。

WindowsServer2012で、タスクスケジューラで、夜間にNASへファイルをコピーするバッチを動かしています。バッチの中でログを書き出すようにしているので、実行されているのは間違いありませんが、以下に示すように「パスが見つからない」ということになってしまいます。

このバッチファイルをそのまま、手動で起動すると、全く問題なくコピーされますが、タスクスケジューラーから起動した場合はうまくいきません。

バッチの内容
------------

rem net use X: \\192.168.xx.xx\dbback /USER:xxxxxx xxxx...続きを読む

Aベストアンサー

rem になっていますが、バッチファイルの中で、net use でネットワークドライブを割り当ててください。
そのあとで、パラメーター無しでnet useコマンドを実行して、ちゃんと接続されているかをログに残しておいた方が良いでしょう。

QWin2K8 R2のタスクでバッチが動作しない

Windows2008 R2のタスクスケジューラでバッチファイルが実行できない状態に陥っています。

環境・状況等は以下のとおりです。

・バッチファイルを単体で実行させたときには、問題なく実行できる。
・ネットワーク上のサーバのあるフォルダをrobocopyするジョブ。
・タスクスケジューラから実行できている他のバッチファイルを流用して作成。(このジョブも別のサーバのバックアップをしている)
・実行結果は、0x1。
・タスクスケジューラ登録時には、administratorで登録し、パスワードも入れている。



問題のバッチファイルを直接叩いたときには、何のエラーもなく、約3時間要するrobocopyでのバックアップが稼動しますが、
タスクスケジューラに登録して実行しようとすると、タスクスケジューラの履歴をみると、スタートはしているがすぐに終了して
おり、バッチファイル内に記述したrobocopyが稼動していないようです。




バッチファイルの内容は

-----------------------
@echo off

set LOGFILE=c:\bat\fd_backup\backup.log
date /t>%LOGFILE%
echo 開始時刻>>%LOGFILE%
time /t>>%LOGFILE%
echo. >>%LOGFILE%
echo Run backup.bat>>%LOGFILE%
echo. >>%LOGFILE%

ROBOCOPY \\server1\backup\ D:\BACKUP\server1-back\ /MIR /NP /FP /TS /COPYALL /TEE /R:0 /LOG+:%LOGFILE%

echo. >>%LOGFILE%
echo 終了時刻>>%LOGFILE%
time /t>>%LOGFILE%
-------------------------

もうひとつ登録してあるバッチファイルは、robocopyの全く同じコマンドで、対象としているサーバと保存先やログファイル名が
異なるだけで問題なくタスクとして稼動しています。




ネット上でいろいろと調べてチェックしてみましたが、おかしいところが見当たらず、困っています。


アドバイスよろしくお願い致します。

Windows2008 R2のタスクスケジューラでバッチファイルが実行できない状態に陥っています。

環境・状況等は以下のとおりです。

・バッチファイルを単体で実行させたときには、問題なく実行できる。
・ネットワーク上のサーバのあるフォルダをrobocopyするジョブ。
・タスクスケジューラから実行できている他のバッチファイルを流用して作成。(このジョブも別のサーバのバックアップをしている)
・実行結果は、0x1。
・タスクスケジューラ登録時には、administratorで登録し、パスワードも入れている。



問題の...続きを読む

Aベストアンサー

>問題のバッチファイルを直接叩いたときには、何のエラーもなく、約3時間要するrobocopyでのバックアップが稼動しますが、

タスクスケジューラではエラーとなって、バッチファイルの直接実行ではエラーとなると思ってよろしいでしょうか?

そうであるならば、タスクで「全般」タブの「最上位の特権で実行する」にチェックが入っているか確認してみて下さい。

QXCOPYでネットワーク越しにコピーすると、「無効なドライブ指定です」と表示される

下記のようなコマンドラインをバッチにし、タスクスケジューラで定期的に起動させています。
---------------------------------------------------------------
xcopy "C:\Documents and Settings\ユーザ名\デスクトップ\バックアップ" "\\同じWORKGROUPにある共有PC\ユーザ名\バックアップ" /s /e /y /k /g /d
---------------------------------------------------------------
目的は、サーバを立てたり、アークサーブなどの高度(高価)なソフトを使わずに、簡単に必要ファイルをバックアップしておこう、ということです。

ユーザは自分のPCのデスクトップの「バックアップ」フォルダに、バックアップしておきたいファイルを保存しておき、タスク(バッチ)は共有PCの同じツリー構造のディレクトリに差分コピーするだけの単純な作りです。

どのPCからも、共有PCは同じWORKGROUP内に見えておりますし、保存先フォルダにフルアクセス可能です。

しかし、一部のユーザのPCでは、「無効なドライブ指定です」と表示され、0個のファイルがコピーされました。と表示されます。つまり失敗しています。

ただ、タスクを手動実行させたり、バッチそのものを手動実行させるとなぜか成功するのです。

そこで質問です。

1.同じバッチ、タスクを登録しているのに、なぜユーザによって成功/失敗と分かれてしまうのでしょうか?

2.タスクで自動起動するのと、手動で起動するのとでは、OS上で何か違いがあるのでしょうか?

お時間のある方、よろしくお願いいたします。

下記のようなコマンドラインをバッチにし、タスクスケジューラで定期的に起動させています。
---------------------------------------------------------------
xcopy "C:\Documents and Settings\ユーザ名\デスクトップ\バックアップ" "\\同じWORKGROUPにある共有PC\ユーザ名\バックアップ" /s /e /y /k /g /d
---------------------------------------------------------------
目的は、サーバを立てたり、アークサーブなどの高度(高価)なソフトを使わずに、簡単に必要ファイルをバックアップしておこう...続きを読む

Aベストアンサー

>1.同じバッチ、タスクを登録しているのに、なぜユーザによって成功/失敗と分かれてしまうのでしょうか?

フォルダのアクセス権がユーザによって与えられているはずなので、権限のあるユーザだと成功して、権限がないと失敗するんでしょうね。

>2.タスクで自動起動するのと、手動で起動するのとでは、OS上で何か違いがあるのでしょうか?

タスク登録の時に、どのユーザで実行するか指定できます。それを指定していないのでは?指定しないとシステムユーザで実行されます。

Qバッチファイルでサーバーのファイルをクライアントへコピーしたい

サーバーに保存されているファイルを、
クライアントのCドライブへコピーしたい。

各クライアントにバッチファイルを配布して、
それを実行するだけでコピーされるようにしたいのです。

初心者で申し訳ないのですが、何卒よろしくお願いします。
------------------------

下記の記述ですと、普通にサーバーのCドライブへファイルがコピーされます。
しかし、コピー先はバッチファイルを実行したクライアントのローカルディレクトリにしたいのです。

copy \\サーバー名\フォルダ名\ファイル名 C:\

Aベストアンサー

>下記の記述ですと、普通にサーバーのCドライブへファイルがコピーされます。

そんなはずはありません。何かの勘違いでしょう。

>copy \\サーバー名\フォルダ名\ファイル名 C:\

だと、バッチファイルを実行したPCのC:\にコピーされます。

copy \\サーバー名\フォルダ名\ファイル名 C:
と、最後の \ を削れば、バッチファイルがあるのと同じディレクトリにコピーされます。

Qバッチファイルで昨日の日付を取得

すみません、どなたか教えて下さい。

バッチファイルの記述で、昨日の日付を取得する方法を教えて下さい。
今日の日付は下記のように取得しています。

rem 日時変数の取得
for /f "tokens=1-3 delims=/" %%a in ('echo %date:~-10%') do (set YYYYMMDD=%%a%%b%%c
)

Aベストアンサー

:: ----- prevdate.bat はじめ -----
@echo off
::今日の日付を取得
set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
echo 今日は、%yy%年%mm%月%dd%日です。

::1日前の日付を計算する
set /a dd=%dd%-1
set dd=00%dd%
set dd=%dd:~-2%
set /a ymod=%yy% %% 4
if %dd%==00 (
if %mm%==01 (set mm=12&& set dd=31&& set /a yy=%yy%-1)
if %mm%==02 (set mm=01&& set dd=31)
if %mm%==03 (set mm=02&& set dd=28&& if %ymod%==0 (set dd=29))
if %mm%==04 (set mm=03&& set dd=31)
if %mm%==05 (set mm=04&& set dd=30)
if %mm%==06 (set mm=05&& set dd=31)
if %mm%==07 (set mm=06&& set dd=30)
if %mm%==08 (set mm=07&& set dd=31)
if %mm%==09 (set mm=08&& set dd=31)
if %mm%==10 (set mm=09&& set dd=30)
if %mm%==11 (set mm=10&& set dd=31)
if %mm%==12 (set mm=11&& set dd=30)
)
echo 昨日は、%yy%年%mm%月%dd%日です。

echo.
pause
:: ----- prevdate.bat おわり -----

参考URL:http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.html

:: ----- prevdate.bat はじめ -----
@echo off
::今日の日付を取得
set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
echo 今日は、%yy%年%mm%月%dd%日です。

::1日前の日付を計算する
set /a dd=%dd%-1
set dd=00%dd%
set dd=%dd:~-2%
set /a ymod=%yy% %% 4
if %dd%==00 (
if %mm%==01 (set mm=12&& set dd=31&& set /a yy=%yy%-1)
if %mm%==02 (set mm=01&& set dd=31)
if %mm%==03 (set mm=02&& set dd=28&& if %ymod%==0 (set dd=29))
if %mm%==04 (set mm=03&& set dd=31)
if...続きを読む

Qコマンドプロンプトの「%1」と「%~1」の違いがわからない

コマンドプロンプトの「%1」と「%~1」の違いがわからない
このサイトにhttp://ykr414.com/dos/bat.html
%~1は「全ての引用句(")を削除して%1を展開する。」とありますがよくわかりません。

%1は入力されたファイルのフルパスだと思っているのですけど。
"%1"=%~1ということでしょうか。

Aベストアンサー

%1は、バッチファイルに指定された「第一引数」です。
バッチファイルに限らず、プログラムを実行するときには引数を指定することができます。
単純に関連づけて実行するとかバッチファイルのアイコンにファイルをにドラッグドロップするとかだと、引数は一つない場合が多いですが、
実際にはショートカットを作ったりコマンドプロンプトから指定するとか、二つ以上の引数を指定することができます。
その際、引数と引数の間はスペースで区切られます。(引数指定全体の文字列を、スペースで区切って各引数に分割する)

一方、例えば、マイドキュメントフォルダ「C:\Documents and Settings\ユーザー名\My Documents」を引数にを指定した場合、そのままだとフォルダ名に空白が入ってるので、
%1=C:\Documents
%2=and
%3=Settings\ユーザー名\My
%4=Documents
と、指定した一つの名前が複数の引数に分断されてしまします。

そこで、こういう場合には、ダブルクオートでファイル名を括ります。
プログラム起動時の引数に 「"C:\Documents and Settings\ユーザー名\My Documents"」
といった感じで、ダブルクオートを付けたものを指定すると、
%1="C:\Documents and Settings\ユーザー名\My Documents"
と、括られた部分がまとめて一つの引数と取り扱われるようになります。
そして、この時%~1は
%~1=C:\Documents and Settings\ユーザー名\My Documents
になります。

%1と%~1の使い分けですが、
引数をこのままファイル名として使う時は、%1をそのまま使えば問題ないのです。
(バッチファイルから別のプログラムを起動するときにファイル指定するとかだったら、
%1を使えば、ダブルクオート込みで渡されるので、そのまま一つの引数としてつかます)

一方、フォルダを指定してそのフォルダ下のファイル名を作る、といった処理をしようとする時には、
ダブルクオートが邪魔なので、そういう時は%~1を使います。
たとえば、指定した引数をフォルダとして、そのフォルダ下の「新規作成データ.txt」ファイルを表すフルパスのファイル名を作りたい場合、

単に
 「%1\新規作成データ.txt」とすると、「"C:\Documents and Settings\ユーザー名\My Documents"\新規作成データ.txt」になってしまいますが、

「"%~1\新規作成データ.txt"」とすれば「"C:\Documents and Settings\ユーザー名\My Documents\新規作成データ.txt"」という、正しくクオートされたファイル名を作ることができます。

%1は、バッチファイルに指定された「第一引数」です。
バッチファイルに限らず、プログラムを実行するときには引数を指定することができます。
単純に関連づけて実行するとかバッチファイルのアイコンにファイルをにドラッグドロップするとかだと、引数は一つない場合が多いですが、
実際にはショートカットを作ったりコマンドプロンプトから指定するとか、二つ以上の引数を指定することができます。
その際、引数と引数の間はスペースで区切られます。(引数指定全体の文字列を、スペースで区切って各引数に分割す...続きを読む

QDOSコマンドで共有ファイルへアクセスを行う際のパスの書き方

初めまして。

本題になります・・・

DOSコマンドで共有ファイルのアクセスを行う際のパスの書き方は、
「\\サーバー名\共有フォルダ名\ファイル名」ですが、DIRなどを行うと、認証が走って、ファイルへのアクセスが出来ません・・・全てDOSコマンド(バッチ)で完結したいのですが・・・
例えば、「dir \\サーバー名\共有フォルダ名\ファイル名」とした場合に、「ログオン失敗: ユーザー名を認識できないか、またはパスワードが間違っています。」と表示されてしまいます。
現在行いたい処理は、他サーバーの「共有ファイルのコピー&削除」、「共有フォルダの作成」です。

【環境】
コマンド実行させるサーバー:[WIN2KSEVER(admini権限/パスワード共通)]
他サーバー:[WIN2KSERVER(admini権限/パスワード共通)]

解決する方法がありましたら、お教え下さい。
お願いします。

Aベストアンサー

実際に試してみました。

net use \\サーバー名 パスワード /user:ユーザー名
dir \\サーバー名\共有フォルダ名\ファイル名

でいけました。

QDOSコマンドで指定日数よりも過去のフォルダを削除

サーバ上のログファイルを日毎に次のようなフォルダにまとめて管理しています。
(ログフォルダは翌朝のDOSバッチジョブでBACKUP_(処理日付)のフォルダを作成してその下に*.*指定で全てのファイル(除 フォルダ)を移動して作成します。)

例.
BACKUP_20041130
BACKUP_20041129
BACKUP_20041128
   ・
   ・
   ・
BACKUP_20040311
BACKUP_20040310

このフォルダを処理日付から数えて90日より古いものを削除するDOSコマンドバッチファイル(日次実行)を作成したいです。

プログラムを作成すればこれを実現するのは可能なんですが、なんとかDOSコマンドだけでこの仕組を作りこめないものでしょうか?

ご存知の方がいらっしゃったら教えて下さい。

Aベストアンサー

毎日必ずフォルダが作られているなら最新の90個を除いたものを消せばいいので、
for /f "skip=90" %%A in ('dir /b /ad /o-n BACKUP_????????') do rd /s /q %%A

ちゃんと日付けの計算をするなら、バッチコマンドだけでも不可能ではないですが長くなるので、日付け計算だけVBScriptを使うのが良いと思います。
echo WScript.Echo DateAdd("d",-90,Date) > tmp.vbs
for /f "delims=/ tokens=1-3" %%A in ('cscript //nologo tmp.vbs') do set OLD=BACKUP_%%A%%B%%C
del tmp.vbs
for /d %%D in (BACKUP_????????) do if %%D LSS %OLD% rd /s /q %%D

QXCOPYで指定したフォルダとファイルをコピーしたい

C:\AAAフォルダとC:\AAA以下のファイルをコピーしたくて、
XCOPY C:\AAA D:\BBB /E
とすると、コピー先のD:\BBBにはAAAフォルダにあるファイルはコピーされるのですが、AAAフォルダそのものはコピーされません。
XCOPY C:\ D:\BBB /E
とすればコピーできるのですが、そうするとC:\のほかのフォルダもコピーされてしまいます。
EXCLUDEオプションを使うには指定するファイルが多いため、あまり使いたくありません。(コピーする前にMDでコピー先にAAAフォルダを作成するのもなるべく避けたい)
知っている方がいらしたら教えて下さい。

Aベストアンサー

xcopy /e C:\AAA D:\BBB\AAA
複数ファイルのコピーでコピー先が存在しないとき、ファイル名と見なすかディレクトリ名と見なすか聞いてきます。

応答を聞かれるのが嫌なら
echo d | xcopy /e C:\AAA D:\BBB\AAA
でいいはず。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング