Автор Тема: Не работает exec с xcopy под Windows XP  (Прочитано 10602 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн covex1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 63
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не работает exec с xcopy под Windows XP
« : 28 Февраля 2006, 16:23:25 »
Люди трабла!

exec("xcopy z:\\home\\test.ru\\www z:\\test\\Backup\\");
?>

Команда не выполняется. Пробовал и system использовать. Пробывал bat файл использывать - тот же результат. Ничего не помогает. Сам батник запускаю - все здорово, а вот с помощью exec никак.
При этом exec \'copy ..... \' работает.
Чего за трабла такая? Как мне целиком фордер скопировать в другое место?

Все дело под XP стоит

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Не работает exec с xcopy под Windows XP
« Ответ #1 : 28 Февраля 2006, 17:28:14 »
Этот код содержит синтаксическую ошибку.
Ты либо врешь и показываешь не тот код (а надо показывать именно тот код, который ты выполняешь - если он не более 10 строк)
либо не умеешь  отлаживать код - по этой теме есть статья на http://phpfaq.ru/
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн covex1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 63
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не работает exec с xcopy под Windows XP
« Ответ #2 : 28 Февраля 2006, 18:33:30 »
Цитировать
covex1:
Этот код содержит синтаксическую ошибку.
Ты либо врешь и показываешь не тот код (а надо показывать именно тот код, который ты выполняешь - если он не более 10 строк)
либо не умеешь отлаживать код - по этой теме есть статья на http://phpfaq.ru/


Содержимое файла test.bat
xcopy Z:\\home\\test.ru\\www Z:\\test\\

Содержимое скрипта:
system("z:\\\\test.bat", $retval);
echo $retval;
?>

Результат выполнения в браузере выглядит так:
z:\\home\\test.ru\\www>xcopy Z:\\home\\test.ru\\www Z:\\test\\ 0

Ни файлы ни папки не скопированны


Про вранье. Я сегодня целый день трах..... с этой банальной фигней. Перебрал кучу вариантов написания и с обычными слешами и с двойными, прямым запросом и через батник...... Я просто устал несколько часов делать безрезультатные "заходы" на одну и туже траблу. А Вы сразу про вранье.... Неприятно

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Не работает exec с xcopy под Windows XP
« Ответ #3 : 28 Февраля 2006, 18:53:53 »
xcopy иногда требует интерактива, например если такой файл уже есть она спросит, надо ли обновить файл.

Насчет вранья - просто имей ввиду, что тебе нужна здесь помощь и для тебя же будет больше пользуы если в твоих сообщениях будет меньше ошибок.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн covex1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 63
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не работает exec с xcopy под Windows XP
« Ответ #4 : 28 Февраля 2006, 18:55:32 »
Цитировать
covex1:
xcopy иногда требует интерактива, например если такой файл уже есть она спросит, надо ли обновить файл.


Батник исполняется без интерактива.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Не работает exec с xcopy под Windows XP
« Ответ #5 : 28 Февраля 2006, 19:07:20 »
у меня твой пример при первом запуске работает нормально, при втором  зависает с выводом путя. Отсюда и мой вывод.

А если запустить не из броузера а из командной строки :
/path/to/php.exe your_script.php
?

xcopy /Y ..... тоже не помогает ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн covex1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 63
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не работает exec с xcopy под Windows XP
« Ответ #6 : 01 Марта 2006, 13:59:39 »
Цитировать
Макс:
у меня твой пример при первом запуске работает нормально


Запустил из командной строки, все путем.

z:\\usr\\local\\php\\php.exe z:\\home\\test.ru\\www\\backup.php

backup.php:
exec("z:\\\\test.bat");
?>

В test.bat то же что и вчера.

Запускаю из браузера:
system("z:\\\\usr\\\\local\\\\php\\\\php.exe z:\\\\home\\\\test.ru\\\\www\\\\backup.php",$re);
echo $re;
?>

Получаем вывод:
Content-type: text/html
X-Powered-By: PHP/4.3.9

0

Файлы не скопированы. Не согу понять что означает "0" в выводе.
В челом не понятный замут. Наковырял в инете scopy.exe от 2000 виндов, с ней работает, но это какой-то усеченный вариант, надо сначала создавать папку дестен, а потом копировать в нее. Сразу не получается.....

В целом я в шоке....

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Не работает exec с xcopy под Windows XP
« Ответ #7 : 02 Марта 2006, 11:12:15 »
Цитировать
covex1:
 Запустил из командной строки, все путем.

Я не знаю как в windows устроена система безопасности и распределение прав доступа, но по-моему нужно копать в эту сторону.
Скорее всего скрипт из под веб-сервера запускается с другими привелегиями
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Не работает exec с xcopy под Windows XP
« Ответ #8 : 03 Марта 2006, 09:49:43 »
Цитировать
covex1:
Не согу понять что означает "0" в выводе.

Матчасть поучить религия не позволяет?

Description
string system ( string command [, int &return_var] )

...

return_var
If the return_var argument is present, then the return status of the executed command will be written to this variable.


первоисточник

Для тех кто в танке:
Второй параметр возвращает результат отработки команды.
Для тех у кого  нет клавиши F1 на клавиатуре и кто не видит дальше меню Пуск:

Признаком ошибки выполнения приложения является возвращаемое значение, отличное о нуля.
Ноль является признаком успешного завершения операции/приложения.
AS IS...

Оффлайн covex1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 63
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не работает exec с xcopy под Windows XP
« Ответ #9 : 03 Марта 2006, 10:11:28 »
Цитировать
ThE0ReTiC:
Матчасть поучить религия не позволяет?


Какие все грубые учителя! Если все такие умные, так объясни почему в результате выполнения выводится "0", а ничего не скопировано? Про то что значит ноль, я еще знал до создания поста, а вот почему он пишется, и при этом ничего не происходит, я не знаю до сих пор.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Не работает exec с xcopy под Windows XP
« Ответ #10 : 03 Марта 2006, 10:56:01 »
covex1
Патаму что это результат выполнения php.exe, которому на вход дали скрипт и он его корректо отработал.
Результат выполнения xcopy надо обрабатывать в батнике, получать в backup.php и обрабатывать там, а не тупо выполнять команду exec и ждать что оно само все сделает.
Цитировать
covex1:
то что значит ноль, я еще знал до создания поста

Зачем тогда писать что это непонятно?
Цитировать
covex1:
Какие все грубые учителя!

Какие все тупые и ленивые студенты.
AS IS...

Оффлайн covex1

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 63
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не работает exec с xcopy под Windows XP
« Ответ #11 : 03 Марта 2006, 11:24:40 »
Цитировать
ThE0ReTiC:
Какие все тупые и ленивые студенты.


Специфика отечественного преподавательского состава - обвинить студентов в грубой форме в лени и тупизме.
Спасибо, что не забываете это делать.

Считаю тему закрытой, т.к. трабла видимо существует из-за специфики установленного софта на моем компе.

Вопрос был задан еще на 2 форумах, и результат выполнения скрипта
exec("xcopy z:\\\\home\\\\test.ru\\\\www z:\\\\test\\\\Backup\\\\ /s");
?>

у людей которые протестировали у себя принес положительные результат: все скопировалось.

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Не работает exec с xcopy под Windows XP
« Ответ #12 : 03 Марта 2006, 17:52:28 »
Цитировать
covex1:
Специфика отечественного преподавательского состава - обвинить студентов в грубой форме в лени и тупизме.
Спасибо, что не забываете это делать.

Специфика отечественного студенчества отлынивать, бить баклуши и что бы ни делать, только бы ничего не делать.
Всегда пожалуйста.
Тема закрыта.
AS IS...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28