プロが教える店舗&オフィスのセキュリティ対策術

おはようございます。
現在、execコマンドを使用して以下の
ディレクトリのコピーを行おうとしておりますが
実際に実行してみたらところコピーされていませんでした。
何か問題があるのでしょうか?


exec("cp-r c:\AAA\BBB\ c:\AAA\BBB2");

A 回答 (3件)

パっとみたところでは、



1)ファイルのパス区切りが¥ってことはWindows?
2)Windowsにcp-rというコマンドがあるの?
3)二重引用符でくっているけど、¥はエスケープしなくてよいの?
4)UNIX系だとしたら、ファイルパスの記述法が変。
5)UNIX系だとしたら、cp-rじゃなくて、cp -rだと思う。

――などが、つっこみどころ。

実行環境を確認してみては。

この回答への補足

回答ありがとうございます。
実行環境ですがLinuxです。
また具体的に行いたい動作としては
他のサーバー上のフォルダをコピーしたいと
考えておりますが以下のような記述で
問題ないでしょうか?
例)
exec("cp -r \\\\999.999.99.9\\フォルダ \\\\999.999.99.9\\フォルダコピー");

補足日時:2006/07/10 10:13
    • good
    • 0

> 問題ないでしょうか?


問題があるかは、実際に試してみればすぐわかるでしょうから、省略しますが、

>他のサーバー上のフォルダをコピーしたい
Windows上のファイルですか?
UNC形式(\\[サーバ]\[フォルダ]みたいな奴)のパスをそのまま解釈できるシェルは無いと思います。

smbmountを使って、Windows共有をマウントした上で、コピーしては。

参考URL:http://www.atmarkit.co.jp/flinux/rensai/linuxtip …
    • good
    • 0

こんにちは。


こちらで質問されているようですね。

Linuxでのコピーのコマンドとしてとらえて下さい。
コピーするときのコマンドは cp
再帰的に(ディレクトリごと)コピーするときのオプションが -r です。

Linuxではディレクトリは / で表現されます。
基本的には相対パスで大丈夫だと思います。例えば、copy.phpで以下の BBBを BBB2にする場合は
exec("cp -r ./AAA/BBB ./AAA/BBB2");

./copy.php
./AAA/BBB
./AAA/BBB2

でコピー出来る筈です。この場合はPHPから./AAAに書き込む権限が無ければなりません(例えばAAAの実行権限は777)。

参考URL:http://homepage2.nifty.com/cs/linux_command/comm …
    • good
    • 0

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