From a7aacbc18eaf8585ee63b8413b99efa6328d6c72 Mon Sep 17 00:00:00 2001 From: feng626 <1304903146@qq.com> Date: Fri, 31 Dec 2021 13:31:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20windows=20=E6=96=87=E4=BB=B6=E5=90=8D?= =?UTF-8?q?=E5=AD=97=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Mac/JumpServer.py | 15 ++++++++++++++- Windows/JumpServer.py | 15 ++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/Mac/JumpServer.py b/Mac/JumpServer.py index 0f8e6be..744f79f 100644 --- a/Mac/JumpServer.py +++ b/Mac/JumpServer.py @@ -22,6 +22,12 @@ "token": "xxx", // 认证 授权 "config": "full address:s:rdjumpserver.fit2cloud.com:33390" } + +在Windows系统中,文件名命名规则如下: +  1)文件名最长可以使用255个字符; +  2)可以使用扩展名,扩展名用来表示文件类型,也可以使用多间隔符的扩展名(如win.ini.txt是一个合法的文件名,但其文件类型由最后一个扩展名决定); +  3)文件名中允许使用空格,但不允许使用下列字符(英文输入法状态):< > / \ | : " * ?; +  4)windows系统对文件名中字母的大小写在显示时有不同,但在使用时不区分大小写. ''' BASE_DIR = os.path.dirname(__file__) @@ -35,10 +41,17 @@ def remove_current_rdp_file(): class Rouse(object): def __init__(self, data): - self.filename = data.get('filename', 'jms') + self.filename = self.get_filename(data) self.protocol = data['protocol'] self.config = data['config'] + @staticmethod + def get_filename(data): + filename = data.get('filename', 'jms') + if platform.system().lower() == 'windows': + filename = re.sub(r'[<>/\\|:"*?]*', '', filename) + return filename + def handle_ssh(self): pass diff --git a/Windows/JumpServer.py b/Windows/JumpServer.py index f904627..8475fd5 100644 --- a/Windows/JumpServer.py +++ b/Windows/JumpServer.py @@ -22,6 +22,12 @@ "token": "xxx", // 认证 授权 "config": "full address:s:rdjumpserver.fit2cloud.com:33390" } + +在Windows系统中,文件名命名规则如下: +  1)文件名最长可以使用255个字符; +  2)可以使用扩展名,扩展名用来表示文件类型,也可以使用多间隔符的扩展名(如win.ini.txt是一个合法的文件名,但其文件类型由最后一个扩展名决定); +  3)文件名中允许使用空格,但不允许使用下列字符(英文输入法状态):< > / \ | : " * ?; +  4)windows系统对文件名中字母的大小写在显示时有不同,但在使用时不区分大小写. ''' BASE_DIR = os.path.dirname(__file__) @@ -35,10 +41,17 @@ def remove_current_rdp_file(): class Rouse(object): def __init__(self, data): - self.filename = data.get('filename', 'jms') + self.filename = self.get_filename(data) self.protocol = data['protocol'] self.config = data['config'] + @staticmethod + def get_filename(data): + filename = data.get('filename', 'jms') + if platform.system().lower() == 'windows': + filename = re.sub(r'[<>/\\|:"*?]*', '', filename) + return filename + def handle_ssh(self): pass