Difference between revisions of "Os.execute"

From GiderosMobile
(Created page with "__NOTOC__ '''Available since:''' Gideros 2011.6<br/> === Description === This function is equivalent to the C function system. It passes command to be executed by an operating...")
 
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
(17 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.
+
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.
<source lang="lua">
+
<syntaxhighlight lang="lua">
(number), = os.execute(command,)
+
(number) = os.execute(command)
</source>
+
</syntaxhighlight>
'''command:''' (string) command to execute ''''''<br/>
+
 
 +
=== Parameters ===
 +
'''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 ===
 
'''Returns''' (number) status code<br/>
 
'''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")