python --windows获取启动文件夹路径/获取当前用户名/添加自启动文件

如何使用Python获取计算机用户名

一、Python自带的getpass模块可以用于获取用户输入的密码,但是它同样可以用来获取计算机用户名。

import getpassuser = getpass.getuser()
print("计算机用户名为:", user)

二、使用os模块获取用户名
Python的os模块在获取系统信息方面提供了很多方法,其中也包括获取计算机用户名的方法。

import osuser = os.environ.get('USERNAME') # Windows 系统
# user = os.getlogin() # Unix/Linux 系统print("计算机用户名为:", user)

三、使用psutil模块获取用户名
psutil是Python中一个跨平台的系统信息库,可以获取系统信息、进程信息等,也可以用于获取计算机用户名。

import psutiluser = psutil.users()[0][0]print("计算机用户名为:", user)

四、使用socket模块获取用户名
除了上述三种方法,Python的socket模块同样可以获取计算机用户名。

import socketuser = socket.gethostname()print("计算机用户名为:", user)

获取启动文件夹路径

startup_path = fr'C:\Users\{getpass.getuser()}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup'
print(os.listdir(startup_path))

windows添加自启动文件

import winreg
def add_to_startup(file_path):    # 要启动的文件入口绝对路径key = winreg.HKEY_CURRENT_USERkey_value = "Software\Microsoft\Windows\CurrentVersion\Run"with winreg.OpenKey(key, key_value, 0, winreg.KEY_WRITE) as key:winreg.SetValueEx(key, "my_python_script", 0, winreg.REG_SZ, file_path)# winreg.DeleteValue(key, "my_python_scrip")  # 清除winreg.CloseKey(key)

# path = r'SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run'
# key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, path, 0, winreg.KEY_WRITE)
# winreg.SetValueEx(key, 'MyProgram', 0, winreg.REG_SZ, file)
# # winreg.DeleteValue(key, 'MyProgram')
# key.Close()

通过启动文件夹去添加

import getpass
from win32com.client import Dispatchdef create_systemc_start(lnk_name, exe_abs_path):''':param lnk_name: 快捷方式名称:param exe_abs_path:  要创建的exe绝对路径:return: '''startup_path = fr'C:\Users\{getpass.getuser()}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup'start_list = os.listdir(startup_path)if lnk_name not in start_list:shell = Dispatch('WScript.Shell')shortcut = shell.CreateShortCut(os.path.join(startup_path, lnk_name))shortcut.Targetpath = exe_abs_pathshortcut.save()

手动设置文件自启动

1.Win + R 打开运行,输入:shell:startup把要开机自启的程序文件或快捷方式复制到打开的窗口中即可。此方法是打开开始菜单-程序-启动文件夹。

在这里插入图片描述

2.Win + R 打开运行,输入:regedit.exe进入注册表。打开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run位置后,右键空白处新建字符串值,数值数据位置填入所需开机自启动的应用程序位置。

在这里插入图片描述

3.Win + R 打开运行,输入:gpedit.msc进入本地策略组,在计算机配置—Windows设置—脚本(启动/关闭)位置双击启动,并添加相对应的脚本。需要先写bat脚本,需要会写脚本代码

先写一个bat脚本,执行你的exe文件:(新建记事本,复制以下代码,保存,修改后缀为bat)

  @echo offstart exe路径

在这里插入图片描述

4.我的电脑右键管理,或者window图标右键计算机管理,在计算机管理下,在任务计划程序库下,点击创建基本任务,进行设置操作即可。
在这里插入图片描述

在这里插入图片描述
5.Win + R 打开运行,输入:cmd,使用cmd命令将程序添加到系统服务,开启自动开启即可

添加服务命令:

 sc create 服务名称 binPath= 路径 start= auto 

添加成功后可到系统服务管理中查看管理
注意:命令中’='后有一个空格

Windows cmd命令创建系统服务

sc  create 命令创建一个服务(增加到注册表中) 

双击直接运行。
如下:在命令行模式下执行:

sc create TestService binpath= "c:/in estapp.exe" displayname= "TestService" depend= Tcpip start= auto 

注意:这里的格式,
注意:
1).binPath=后面一定要有个空格,否则会出现错误。
2).如果建错了或者需要修改,这时需要先删除服务,再重新创建,删除服务的命令:

sc delete [serviceName]

在提示建立成功后,可以直接输入“net start TestService”
来启动服务,或者可以直接在“管理工具”的“服务”中直接启动。 (services.msc启动)

C:/Documents and Settings/Administrator>sc create 

描述:
在注册表和服务数据库中创建服务项。
用法:

sc <server> create [service name] [binPath= ] <option1> <option2>... 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/62615.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Centos7.9系统_亲测成功_磁盘满了_分区和挂载新盘_创建文件夹并挂载分区---Linux工作笔记057

由于在某些部署环境下,运维管理员,仅仅是给分配一些硬盘容量,但是并没有进行分区和挂载到对应的合适的目录下,因此这个时候就需要我们自己去处理了. 这个是自己亲测成功的:由于是后面记录的,尽量记录详细 free -h 查看一下内存情况 df -h查看 硬盘的使用情况,还有是否有没挂载…

以数据为中心的标记语言--yaml

&#x1f600;前言 本篇博文是关于以数据为中心的配置文件yaml的说明和应用&#xff0c;希望能够帮助到您&#x1f60a; &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&…

设计模式--策略模式

目录 一.场景 1.1场景 2.2 何时使用 2.3个人理解 二. 业务场景练习 2.1业务: 2.2具体实现 2.3思路 三.总结 3.1策略模式的特点&#xff1a; 3.2策略模式优点 3.3策略模式缺点 一.场景 1.1场景 许多相关的类仅仅是行为有异&#xff0c;也就是说业务代码需要根据场景不…

物联网的定义、原理、示例、未来

什么是物联网? 物联网 (IoT) 是指由嵌入传感器、软件和网络连接的物理设备、车辆、电器和其他物理对象组成的网络&#xff0c;允许它们收集和共享数据。这些设备(也称为“智能对象”)的范围可以从简单的“智能家居”设备(如智能恒温器)到可穿戴设备(如智能手表和支持RFID的服…

C++:string类模拟实现

C&#xff1a;string类模拟实现 成员变量构造和析构容量相关1.获取容器大小(_size)和容量(_capacity)2.扩容(reserve)3.更改容器大小 修改相关1.尾插2.指定位置插入3.指定位置删除4.清空5.交换两个对象 比较相关访问相关迭代器相关查找相关其它成员函数1.截取子串2.取得C格式字…

记录一次使用python调用java代码

Python调用Java代码的主要原理是通过使用Java虚拟机&#xff08;JVM&#xff09;和相关的库/工具实现的。 在Python中&#xff0c;可以使用以下几种方式来调用Java代码&#xff1a; 使用subprocess模块&#xff1a;可以通过subprocess模块来启动一个子进程&#xff0c;并在子进…

深入浅出 Typescript

TypeScript 是 JavaScript 的一个超集&#xff0c;支持 ECMAScript 6 标准&#xff08;ES6 教程&#xff09;。 TypeScript 由微软开发的自由和开源的编程语言。 TypeScript 设计目标是开发大型应用&#xff0c;它可以编译成纯 JavaScript&#xff0c;编译出来的 JavaScript …

echart图案例

效果 代码&#xff1a; index.vue <template><div class"pageBox"><div class"oneLineBox"><div class"fourColorImgBox"><div class"titleBox">企业风险四色图</div><div class"conte…

Scrum敏捷模型的三个角色!如何在线绘制Scrum敏捷模型图?

1. 什么是Scrum敏捷模型&#xff1f; Scrum是一种敏捷开发方法&#xff0c;用于管理和组织软件开发项目。它强调团队的自组织和迭代式开发&#xff0c;通过不断的反馈和调整来快速交付高质量的软件产品。 Scrum敏捷模型将项目分解为一系列短期的迭代周期&#xff0c;每一个…

ffmpeg命令行是如何打开vf_scale滤镜的

前言 在ffmpeg命令行中&#xff0c;ffmpeg -i test -pix_fmt rgb24 test.rgb&#xff0c;会自动打开ff_vf_scale滤镜&#xff0c;本章主要追踪这个流程。 通过gdb可以发现其基本调用栈如下&#xff1a; 可以看到&#xff0c;query_formats&#xff08;&#xff09;中创建的v…

【遍历】非递归法 二叉树的前中后序遍历

文章目录 非递归法前序遍历后序遍历中序遍历 递归法DFS 非递归法 通过栈Stack来模拟递归。 前序遍历 LeetCode 144 前序遍历&#xff1a;1 2 3 定义&#xff1a;存放答案的List、栈Stack 将root入栈出栈&#xff1a;node&#xff0c;为null则舍弃将node放入list将node.r…

安全测试中常见的业务安全问题

“在测试过程中&#xff0c;特殊的操作往往容易触发异常场景&#xff0c;而这些异常场景也很容易引起安全问题&#xff01;” 常见的安全漏洞就不多说了&#xff0c;这里主要介绍常见的业务安全问题及修复建议。 01 刷短信 问题描述&#xff1a; 当发送短信的请求接口只需要…