diff --git a/smbclientng/core/CommandCompleter.py b/smbclientng/core/CommandCompleter.py index a08e68a..ed4a7ec 100644 --- a/smbclientng/core/CommandCompleter.py +++ b/smbclientng/core/CommandCompleter.py @@ -124,6 +124,13 @@ class CommandCompleter(object): ], "subcommands": [] }, + "lrename": { + "description": [ + "Renames a local file.", + "Syntax: 'lrename '" + ], + "subcommands": [] + }, "lrm": { "description": [ "Removes a local file.", diff --git a/smbclientng/core/InteractiveShell.py b/smbclientng/core/InteractiveShell.py index 61cf86c..fef8a26 100644 --- a/smbclientng/core/InteractiveShell.py +++ b/smbclientng/core/InteractiveShell.py @@ -186,6 +186,10 @@ def process_command(self, command, arguments=[]): elif command == "lpwd": self.command_lpwd(arguments, command) + # Renames a local file + elif command == "lrename": + self.command_lrename(arguments, command) + # Removes a local file elif command == "lrm": self.command_lrm(arguments, command) @@ -444,6 +448,17 @@ def command_lpwd(self, arguments, command): print(os.getcwd()) + @command_arguments_required + def command_lrename(self, arguments, command): + # Command arguments required : Yes + # Active SMB connection needed : No + # SMB share needed : No + + if len(arguments) == 2: + os.rename(src=arguments[0], dst=arguments[1]) + else: + self.commandCompleterObject.print_help(command=command) + @command_arguments_required def command_lrm(self, arguments, command): # Command arguments required : Yes @@ -629,9 +644,9 @@ def command_shares(self, arguments, command): is_hidden = bool(sharename.endswith('$')) types = ', '.join([s.replace("STYPE_","") for s in shares[sharename]["type"]]) if is_hidden: - table.add_row(sharename, str(is_hidden), types, shares[sharename]["comment"]) + table.add_row(shares[sharename]["name"], str(is_hidden), types, shares[sharename]["comment"]) else: - table.add_row(sharename, str(is_hidden), types, shares[sharename]["comment"]) + table.add_row(shares[sharename]["name"], str(is_hidden), types, shares[sharename]["comment"]) Console().print(table) else: @@ -669,7 +684,6 @@ def command_use(self, arguments, command): def __load_modules(self): - self.modules.clear() modules_dir = os.path.normpath(os.path.dirname(__file__) + os.path.sep + ".." + os.path.sep + "modules")