Difference between revisions of "Os.execute"
From GiderosMobile
m (Text replacement - "</source>" to "</syntaxhighlight>") |
|||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
'''Available since:''' Gideros 2011.6<br/> | '''Available since:''' Gideros 2011.6<br/> | ||
+ | '''Class:''' [[os]]<br/> | ||
+ | |||
=== Description === | === Description === | ||
− | + | This function is equivalent to the C function system. It passes command to be executed by an operating system shell. It returns a status code which is system-dependent. If command is absent then it returns nonzero if a shell is available and zero otherwise. | |
− | < | + | <syntaxhighlight lang="lua"> |
(number) = os.execute(command) | (number) = os.execute(command) | ||
− | </ | + | </syntaxhighlight> |
+ | |||
=== Parameters === | === Parameters === | ||
− | '''command''': (string) | + | '''command''': (string) command to execute<br/> |
+ | |||
+ | For Windows you can check: | ||
+ | * '''https://learn.microsoft.com/en-gb/windows-server/administration/windows-commands/windows-commands''' | ||
+ | |||
=== Return values === | === Return values === | ||
− | '''Returns''' (number) < | + | '''Returns''' (number) status code<br/> |
+ | |||
+ | === Examples === | ||
+ | '''Opens a folder (windows 10)''' | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | if application:getDeviceInfo() == "Windows" then | ||
+ | local lfs = require "lfs" | ||
+ | -- go to user/pictures folder | ||
+ | lfs.chdir(application:get("directory", "pictures")) | ||
+ | -- check if "my_new_folder" directory exists in user/pictures folder | ||
+ | local islfsdir = lfs.chdir(lfs.currentdir().."\\".."my_new_folder") | ||
+ | if not islfsdir then | ||
+ | -- if doesn't exist then create it and go to it | ||
+ | lfs.mkdir(lfs.currentdir().."\\".."my_new_folder") | ||
+ | lfs.chdir(lfs.currentdir().."\\".."my_new_folder") | ||
+ | end | ||
+ | end | ||
+ | -- opens a window of the current lfs dir | ||
+ | os.execute("start "..lfs.currentdir()) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''Or if your path contains spaces''' | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | local path = "H:\\ShdowPLAY\\TMP\\Mafia Definitive Edition" | ||
+ | --local path = "H:/ShdowPLAY/TMP/Mafia Definitive Edition" -- same | ||
+ | os.execute("start \"\" \"" .. path .. "\"") | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | '''Copies some files from folder to folder beyond a given date''' | ||
+ | * see: '''https://learn.microsoft.com/en-gb/windows-server/administration/windows-commands/xcopy''' | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | os.execute("xcopy \rawdata \reports /d:12-29-1993") | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | {{Os}} |
Latest revision as of 14:32, 13 July 2023
Available since: Gideros 2011.6
Class: os
Description
This function is equivalent to the C function system. It passes command to be executed by an operating system shell. It returns a status code which is system-dependent. If command is absent then it returns nonzero if a shell is available and zero otherwise.
(number) = os.execute(command)
Parameters
command: (string) command to execute
For Windows you can check:
Return values
Returns (number) status code
Examples
Opens a folder (windows 10)
if application:getDeviceInfo() == "Windows" then
local lfs = require "lfs"
-- go to user/pictures folder
lfs.chdir(application:get("directory", "pictures"))
-- check if "my_new_folder" directory exists in user/pictures folder
local islfsdir = lfs.chdir(lfs.currentdir().."\\".."my_new_folder")
if not islfsdir then
-- if doesn't exist then create it and go to it
lfs.mkdir(lfs.currentdir().."\\".."my_new_folder")
lfs.chdir(lfs.currentdir().."\\".."my_new_folder")
end
end
-- opens a window of the current lfs dir
os.execute("start "..lfs.currentdir())
Or if your path contains spaces
local path = "H:\\ShdowPLAY\\TMP\\Mafia Definitive Edition"
--local path = "H:/ShdowPLAY/TMP/Mafia Definitive Edition" -- same
os.execute("start \"\" \"" .. path .. "\"")
Copies some files from folder to folder beyond a given date
os.execute("xcopy \rawdata \reports /d:12-29-1993")