Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: trillian2018 on November 15, 2020, 08:56:08 PM

Title: Неправильная интерпретация команды EXECUTE c cmd.exe
Post by: trillian2018 on November 15, 2020, 08:56:08 PM
Здравствуйте. Задача в общем простая: переименовать файл, что возможно реализовать в командной строке. Но почему то моя командная строка не воспринимает нужную команду, а просто запускается cmd.exe без каких либо действий. Вот сам скрипт:

EXECUTE("cmd.exe","RENAME C:\Users\User\Desktop\SERVER_BOTS\-0001.lnk 0001.lnk")
wait(5)
HALT

По итогу получаем запущенный cmd.exe и на этом все. Команда RENAME не работает, хотя если эту строку скопировать в саму консоль, то работает без ошибок. В чем загвоздка, подскажите, кто сталкивался? При запуске получаю изображение: (не смог загрузить изображение "
Ошибка!
Ваше вложение не может быть сохранено. Возможно файл больше, чем позволяет сервер.

Пожалуйста, проконсультируйтесь с администратором для получения более подробной информации." размер картинки 40 кб
Title: Re: Неправильная интерпретация команды EXECUTE c cmd.exe
Post by: 4.У.В.@.К on November 16, 2020, 08:11:21 PM
Как вариант - можно сделать bat-файл с нужным текстом, типа "RENAME C:\Users\User\Desktop\SERVER_BOTS\-0001.lnk 0001.lnk". Только сохранить его надо в правильной кодировке, иначе не будет работать. И через EXECUTE запускать не cmd.exe, а сам батник.

Code: (clickermann) [Select]
execute("rename.bat")
Title: Re: Неправильная интерпретация команды EXECUTE c cmd.exe
Post by: Vint on November 17, 2020, 09:28:55 AM
Неправильная интерпретация команды EXECUTE c cmd.exe

Почему все сразу кричат, что ошибка в программе, когда ошибка у них? Не то, чтобы в программе их не было, но зачем приписывать несуществующие.
Так не работает, потому, что такой синтаксис у cmd. Чтобы сработала строка-команда переданная параметром должен присутствовать ключ /C
Code: (clickermann) [Select]
EXECUTE("cmd.exe", "/C rename C:\Users\User\Desktop\SERVER_BOTS\-0001.lnk 0001.lnk")
Достаточно посмотреть в консоли справку по самой cmd
Code: (javascript) [Select]
cmd /?
Quote
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] строка]

/C      Выполнение указанной команды (строки) с последующим завершением.
/K      Выполнение указанной команды (строки) без последующего завершения.
/S      Изменение поведения после /C или /K (см. ниже)
...

Если указаны ключи /C или /K, то остальная часть командной строки после
такого ключа обрабатывается как командная строка...

Пожалуйста, проконсультируйтесь с администратором для получения более подробной информации." размер картинки 40 кб
Кончилось место на сервере. Логами всё забилось (наверное)  :D