XCOPYをタスクマネージャで実行できない

このQ&Aのポイント
  • Windows2000 OSのドメイン参加環境からワークグループ環境へのフォルダコピーでXCOPYが実行できない問題について
  • バッチファイルでXCOPYコマンドを実行するとコピー先フォルダにはコピーできるが、Windowsタスクで実行すると0個のファイルをコピーする結果になる
  • タスク実行アカウントはAdministratorであり、共有フォルダのアクセス権限の問題ではなさそうだが、タスク実行はUNCパスと相性が悪いという情報がある
回答を見る
  • ベストアンサー

XCOPYをタスクマネージャで実行できない

Windows2000 OSでドメイン参加環境からワークグループ環境へフォルダごとコピーしています。 コマンドは以下の通り  XCOPY C:\○○ \\111.111.111.111\FOLDER\FOLDER1 コマンドをbatファイルで保存し、「開く」で実行するとコピー先フォルダにコピーできるが、Windowsタスクでbatファイルを参照して実行するとなぜかコピーできない。  ・同ドメイン環境では問題なくコピーできる。  ・bat実行ログを確認すると「0個のファイルをコピーしました」の結果がありました。  ・タスク実行アカウントはAdministratorで実行。  ・共有フォルダのアクセス権限の問題ではなさそうなのですが。   タスク実行はUNCパスと相性が悪いと聞きますが・・・。  どなたかご教授願います。

noname#44454
noname#44454

質問者が選んだベストアンサー

  • ベストアンサー
  • kani7
  • ベストアンサー率47% (110/231)
回答No.3

>・なぜドメイン環境では実行できたのか? >・テスト環境では同OSでもタスク実行できた。本番環境で実行できないのはなぜか?(サービス、設定依存か?) おそらく、どのユーザとして実行しているのか、に影響されています。 作成したタスクのプロパティを開き、 [タスク]タブの[パスワードの設定]ボタンを押すと、 どのユーザーとして実行するかを指定できます。 上記問題が発生するのは、このユーザ指定の問題と、 タスク実行時にどのユーザでログオンしているかに依存していると推測します。 ログアウトしている状態も含め、検証が必要でしょう。 UNCパス名と相性が悪い、と言われるのは、このあたりが理由ではないでしょうか。 この問題を解決するひとつの方法ですが、バッチファイル内で、 net use コマンドを使い、予めドライブレターを振ってしまう (ネットワークドライブとしてマウントしてしまう)ことを提案します。 バッチファイルの最後で net use ~ /delete を使えば アンマウントできるので繋ぎっぱなしという事態も防げます。 但し、ユーザー名とパスワードを平文で書いてしまうため セキュリティ面をどうするかが別の問題として浮上します。

noname#44454
質問者

お礼

cmd.exe /cで実行できました! ありがとうございます。 まったく思いつきませんでした・・・・。 kani7さんの経験の賜物ですね。 よい書籍あればまた紹介ください

その他の回答 (2)

  • kani7
  • ベストアンサー率47% (110/231)
回答No.2

>cmd.exeつける理由はなぜでしょうか? *.bat ファイルは cmd.exe が実行するべき命令を書いたスクリプト、だからです。 cmd.exe はコマンドプロンプトの実体です。 *.bat ファイルをダブルクリックすると コマンドプロンプトの様なウインドウが開き、 バッチファイルの内容が実行されるかと思いますが、 これは *.bat が cmd.exe に引き渡されているからです。 余談になりますが、質問の例ですと、タスクのコマンドラインに %SystemRoot%\system32\cmd.exe /c XCOPY C:\○○ \\111.111.111.111\FOLDER\FOLDER1 でも同じ結果が得られると思います。 cmd.exe を経由せずに XCOPY 直書きで動いたかは定かでありません。

noname#44454
質問者

お礼

わかりました! ありがとうございます。 タスク実行時にそういえばプロンプト画面が開かなかった気がします。 タスクマネージャのサービスで対話許可のチェックが外れてたからかと思ってましたが・・・ 違うんですね

noname#44454
質問者

補足

何度もすみません・・・ さらに気になったのですが、 ・なぜドメイン環境では実行できたのか? ・テスト環境では同OSでもタスク実行できた。本番環境で実行できないのはなぜか?(サービス、設定依存か?) 申し訳ありません、よかったら教えてください

  • kani7
  • ベストアンサー率47% (110/231)
回答No.1

作成したタスクのコマンドラインの頭に %SystemRoot%\system32\cmd.exe /c を付けてみてください。

noname#44454
質問者

お礼

試してみます。 ずうずうしいのですが、cmd.exeつける理由はなぜでしょうか? なんとなく、わかる気がするのですが・・・

関連するQ&A

  • Batファイルでxcopyを実行するとループする

    BatファイルでCドライブのaaaフォルダからDドライブのaaaフォルダへファイルをコピーするxcopyの記述をしました。 xcopy c:\aaa d:\aaa /i 作成したBatファイルを実行するとループしてるのか、このコマンドが何度も繰り返され、コマンドプロンプトの×ボタンを押すまで終わりません。 コマンドプロンプトから直接xcopyを入力すると問題なくコピーされます。 どこか私の記述が間違っているのでしょうか?

  • タスクの実行について

    いつもお世話になっております。 Windows2000Serverでタスクを実行させたいのですが実行されません。 [環境] ・Windows2000ServerはWindows NTドメインに参加しています。メンバ サーバです。 ・実行しようとしているタスクはサーバを再起動させるタスク。 ・毎週月曜日朝6時にタスクを実行させる設定になっていますが、  朝6時に実行されたとタスクには残りますが、実際は再起動されてい ません。状態もエラーは出ていません。(実行できていない場合は開 始できませんでした等出力されるはず) ・UPSに接続されていますが、UPSの機能を使い再起動できないため  このタスクを組んでいます。UPSで再起動の設定は解除済み。 ・タスク実行時のユーザ名はドメイン\administrator パスワードはドメインadminのパスワードを入力。 ・手動でタスクを実行すると正常に実行されます。 [タスクの詳細] ・reboot.batを実行させる設定。 バッチの記述[cscript c:\backupbat\restart.vbs /S サーバ名 /R] ・restart.vbs はマイクロソフトよりダウンロードしたもの。 これは何が原因でしょうか? restart.vbs もバッチの記述通りbackupbatフォルダにあります。 宜しくお願いします。

  • バッチファイルのタスクスケジューラでの実行について教えて下さい。

    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   パスワードはなし よろしくお願いいたします。

  • タスクがSYSTEMアカウントで実行されません。

    タスクがSYSTEMアカウントで実行されません。 タスクスケジュールでバッチファイルを実行しているのですが、 タスクの実行アカウントをAdministratorにすると問題ないのですが、 SYSTEMアカウントにすると実行されません。 正確には、バッチファイルの中で、 ローカルのファイルをLAN上のファイルサーバにコピーすることができません。 Administratorアカウントでは問題ありません。 また、バッチファイルの中のコピー以外については、 SYSTEMアカウントでも実行されています。 何が原因かわかりますでしょうか。 よろしくお願いします。

  • XCOPYでコピーされるセキュリティ権限について

    XCOPYついて質問です。 以下の構文でファイルをコピーしますと、 コピー先のファイルのセキュリティ権限タブに、 コマンドプロンプトを流したユーザーが付与されます。 コピー先のコンピュータでファイルを開いても、 コピー先のコンピュータにあるアカウントは付与されません。 >XCOPY \\コピー元\コピー元フォルダ\ \\コピー先\コピー先フォルダ /s しかし、Explorerでコピー元フォルダからコピー先フォルダへコピーしたファイルには、 ファイルをコピーしたコンピュータのユーザーは付与されず、 コピー先のユーザーが自動で付与されています。 XCOPYを使用しても、Explorerでコピーした時と同様なセキュリティ権限にしたいのですが、 その場合のXCOPYの構文を教えていただけますでしょうか。

  • Windows2000でのXCOPYについて

    今後、Windows2000Server上でXCOPYにて日次バックアップを行う予定です。 しかし、テスト段階にて以下の事象が発生し、うまく行えてません。 何が原因なのかご存知の方がいらっしゃいましたら、教えてください。 【環境】 ・1ドメインで、当マシンはドメイン内のスタンドアロンサーバ ・バックアップサーバと位置付けし、他の処理は行っていない ・XCOPYコマンドは\\サーバ名\ディレクトリ\*.*にて実施 ※他にもパラメータを付けていますし、/sも付けています。 【事象】 複数のディレクトリ(全て別マシンに存在)を取得してますが、 1つの共有ディレクトリ(親ディレクトリ)のみ何も取得することができません。 そのディレクトリはWindowsNT4.0Serverのファイルサーバにあります。 該当ディレクトリ、ツリーのディレクトリの権限はEveryoneフルコントロールに なっていますし、GUIではコピー&ペースト可能です。 XCOPY実行ユーザとGUIでコピー&ペーストを行っているユーザは同一です。 ユーザはDomainAdminです。 でも、XCOPYでも子ツリーとなるディレクトリを記述して行うと、そのディレクトリ 内の取れるディレクトリと取れないディレクトリが存在し、少し緩和されます。 何度もお伝えしますが、全てのディレクトリ権限はEveryoneフルコントロールです。 このようにXCOPYにて権限以外が起因し、取得できないディレクトリは どのように対処すればよろしいでしょうか? また何を探ってみればよろしいでしょうか? もしかしたら、フォルダを作成したOSとかに依存していますでしょうか? 全く対応策が取れず、大変困っています。 宜しくお願いします。

  • xcopyのバッチを組みたいです。

    xcopyのバッチを組みたいです。 例えば、c:\data というフォルダを、 d:\test というフォルダ内にxcopyコマンドを使って コピーするとします。 コピー終了した時間を何らかの形で知りたいです。 (実際のデータをコピーするのに、相当時間が かかりそうなので、ずっと見ているわけに いかないのです) 上記のことをやろうと思ったら、バッチを組めば いいと聞いたのですが、そもそもバッチを組むと いうのはどうすればいいんでしょうか。 テキストデータで構文を書いて、拡張子をbatに しておけばいいものなんでしょうか。 また、その構文はどう書けばいいのでしょうか。 以上、どなたか教えてください。 よろしくお願いします。

  • xcopyについて

    xcopyコマンドで、あるフォルダごとコピーする際、フォルダ内に10個ファイルがあるが、更新日時が例えば2006年1月1日以降のファイルのみ、コピーする方法はありませんでしょうか?ご存知の方、宜しくお願い致します。

  • タスクスケジューラーで実行されない

    WindwsosServer2012R2で下記のbatファイルをタスクスケジューラで実行しています。 ・タイミング 毎日 23:00 ・C:\TEST.batを実行する。 ・test.batの中身  xcopy C:\temp c:\temp2 /y /h /e tempフォルダの中にはaaaというフォルダがありその中にいくつかファイルがあります。 このバッチファイルを手動で行うと問題なく実行されるのですがタスクスケジューラーだと0×1と表示されxcopyは実行されていません。原因は何が考えられるでしょうか?

  • 2003Serverから2008にフォルダのコピー

    2003Serverから2008へ文書データを移行する時に、コピーが出来なくて困っています。 2008サーバー上でAdminでログインしてから、 XCOPY x: y:\new /E /I /O でコピーしたところ、 途中のファイルで、アクセス権限がありませんとエラーが出ます。 そのファイルのセキュリティ権限を調べても、正常のファイルとの違いがないように見えます。 XCOPY x: y:\new /E /I /O /Y で上書きのリトライをすると、今度は別のファイルで同じエラーになります。 そのファイルのセキュリティ権限を調べても、正常のファイルとの違いがないように見えます。 再実行すると、今度は別のファイルで同じエラーになります。 訳が判らないので、コピー先の中途半端なファイルを消そうとすると、 「アクセス許可が必要です。 このフォルダを変更するためにはドメイン\Administratorからアクセス許可を得る必要があります。」 となります。 そのフォルダのオーナーが 元のフォルダのローカルのAdministratorになっているので、それをドメインのAdministratorに変更し、さらにドメインのAdministratorにフルコントロールを与えてみました。 それでも同じエラーが出てきます。 どうしたら削除することができるのか教えて頂けないでしょうか? また、別のマシンからフォルダ単位にコピーをする場合、所有権とACLは付けてコピーするのはまずいのでしょうか? よろしくお願いします。