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

news2024/11/24 21:19:01

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

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

import getpass

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

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

import os

user = os.environ.get('USERNAME') # Windows 系统
# user = os.getlogin() # Unix/Linux 系统

print("计算机用户名为:", user)

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

import psutil

user = psutil.users()[0][0]

print("计算机用户名为:", user)

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

import socket

user = 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_USER
	key_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 Dispatch

def 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_path
        shortcut.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 off
    start 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.coloradmin.cn/o/846150.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习部署:FastDeploy部署教程(CSharp版本)

FastDeploy部署教程(CSharp版本) 1. FastDeploy介绍 FastDeploy是一款全场景、易用灵活、极致高效的AI推理部署工具&#xff0c; 支持云边端部署。提供超过 &#x1f525;160 Text&#xff0c;Vision&#xff0c; Speech和跨模态模型&#x1f4e6;开箱即用的部署体验&#xf…

[机器学习]线性回归模型

线性回归 线性回归&#xff1a;根据数据&#xff0c;确定两种或两种以上变量间相互依赖的定量关系 函数表达式&#xff1a; y f ( x 1 , x 2 . . . x n ) y f(x_1,x_2...x_n) yf(x1​,x2​...xn​) ​ 回归根据变量数分为一元回归[ y f ( x ) yf(x) yf(x)]和多元回归[ y …

CSS 属性计算过程

CSS 属性计算过程 你是否了解 CSS 的属性计算过程呢&#xff1f; 有的同学可能会讲&#xff0c;CSS属性我倒是知道&#xff0c;例如&#xff1a; p{color : red; }上面的 CSS 代码中&#xff0c;p 是元素选择器&#xff0c;color 就是其中的一个 CSS 属性。 但是要说 CSS 属…

国内大模型在局部能力上已超ChatGPT

中文大模型正在后来居上&#xff0c;也必须后来居上。 数科星球原创 作者丨苑晶 编辑丨大兔 从GPT3.5彻底出圈后&#xff0c;大模型的影响力开始蜚声国际。一段时间内&#xff0c;国内科技公司可谓被ChatGPT按在地上打&#xff0c;毫无还手之力。 彼时&#xff0c;很多企业…

echarts实现中国地图下钻进入下一级行政区(地图钻取)

获取geo数据&#xff1a; 可以使用node爬虫获取数据 最好多爬几遍&#xff0c;因为有时候会获取错误 echarts实现 html <div ref"echarts-dom" class"echarts-content"></div>js: export default {data() {return {mapChart: null,addressC…

太心累!企业IT维修呼唤更专业的维修平台

大数据产业创新服务媒体 ——聚焦数据 改变商业 设想这样一个场景&#xff1a;在繁忙的工作日早晨&#xff0c;企业的运营部门突然发现一批重要的办公设备&#xff0c;台式电脑、笔记本电脑和打印机&#xff0c;出现了各种技术问题。无法连接网络、电脑启动异常、软件冲突等问…

【SQL应知应会】索引(一)• MySQL版

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习&#xff0c;有基础也有进阶&#xff0c;有MySQL也有Oracle 索引 • MySQL版 前言一、索引1.简介1.1 索引的优点…

业界首个云管理产品与服务图谱发布,九州未来入选!

近日&#xff0c;由中国信息通信研究院和中国通信标准化协会联合主办的第十届可信云大会在北京成功召开&#xff0c;会上发布业界首个云管理全景图《云管理产品与服务图谱&#xff08;2023&#xff09;》。 九州未来凭借在云管理领域的多年深耕&#xff0c;成功入选“智慧应用…

【数学建模学习(9):模拟退火算法】

模拟退火算法(Simulated Annealing, SA)的思想借 鉴于固体的退火原理&#xff0c;当固体的温度很高的时候&#xff0c;内能比 较大&#xff0c;固体的内部粒子处于快速无序运动&#xff0c;当温度慢慢降 低的过程中&#xff0c;固体的内能减小&#xff0c;粒子的慢慢趋于有序&a…

无涯教程-Perl - defined函数

描述 如果 EXPR 的值不是undef值,则此函数返回true&#xff1b;如果未指定 EXPR ,则检查$_的值。它可以与许多功能一起使用以检测操作失败,因为如果出现问题,它们将返回undef。简单的布尔测试不会区分false,零,空字符串或字符串.0。 如果 EXPR 是函数或函数引用,则在定义函数…

ORCA优化器浅析——CFunctionProp function properties

CFunctionProp CFunctionProp代表了function properties函数属性&#xff0c;主要由function stability函数易变性&#xff08; enum EFuncStbl { EfsImmutable, /* never changes for given input */ EfsStable, /* does not change within a scan */ EfsVolatile, /* can ch…

objectMapper.configure 方法的作用和使用

objectMapper.configure 方法是 Jackson 提供的一个用于配置 ObjectMapper 对象的方法。ObjectMapper 是 Jackson 库的核心类&#xff0c;用于将 Java 对象与 JSON 数据相互转换。 configure 方法的作用是设置 ObjectMapper 的配置选项&#xff0c;例如设置日期格式、设置序列…

Stephen Wolfram:超越基础训练

Beyond Basic Training 超越基础训练 The majority of the effort in training ChatGPT is spent “showing it” large amounts of existing text from the web, books, etc. But it turns out there’s another—apparently rather important—part too. 在训练 ChatGPT 的过…

基于短信宝API零代码实现短信自动化业务

场景描述&#xff1a; 基于短信宝开放的API能力&#xff0c;实现在特定事件&#xff08;如天气预警&#xff09;或定时自动发送短信&#xff08;本文以定时群发短信为例&#xff09;。通过Aboter平台如何实现呢&#xff1f; 使用方法&#xff1a; 首先创建一个IPaaS流程&…

splice没有删除指定元素怎么回事

动态删除数组元素&#xff0c;只能用倒序遍历或者正序遍历时i每次减1 防止遍历时数组元素长度动态改变导致的死循环或者缺漏 注释的需要-1

io day9

1&#xff0e;要求用消息队列实现AB进程对话 a.A进程先发送—句话给B进程&#xff0c;B进程接收后打印 b.B进程再回复—句话给A进程&#xff0c;A进程接收后打印 c.重复1.2步骤&#xff0c;当收到quit后&#xff0c;要结束AB进程 d.实现随时收发:用多进程多线程。 2.要求在共享…

NC 突破性发现!新型分子抑制细菌多重耐药性,重燃抗生素效力的希望

多重耐药性是指细菌病原体在许多结构多样化的化合物的致死剂量下存活的能力。细菌多重耐药性继续以惊人的速度蔓延&#xff0c;威胁着全球人类健康。2019年&#xff0c;细菌多重耐药性直接导致全球1万人死亡&#xff0c;超过艾滋病毒和疟疾的总和。 由于大多数临床抗生素已经对…

Docker卸载安装及国内镜像源(详细版)

文章目录 一、卸载已有Docker1、首先判断本地有没有docker&#xff1a;2、判断CentOS下 docker是否在运行&#xff1a;3、停止docker运行&查看状态4、yum查看docker安装的包并卸载5、删除docker安装目录6、查看docker version 二、Docker安装及镜像源配置1、centOS 7 yum源…

第7集丨Vue 江湖 —— 条件渲染

目录 一、v-show二、v-if2.1 基本使用2.2 条件渲染分组2.3 与 v-else-if、v-else 结合使用 三、v-if vs v-show四、测试案例 本节条件渲染所涉及到的指令有&#xff1a; v-showv-ifv-else-ifv-else 一、v-show 1. 用法&#xff1a; 语法: v-show" 表达式"&#xff…

【CSS】说说对BFC的理解

目录 一、概念 二、BFC的布局规则 三、设置BFC的常用方式 四、BFC的应用场景 1、解决浮动元素令父元素高度坍塌的问题 2、解决非浮动元素被浮动元素覆盖问题 3、解决外边距垂直方向重合的问题 五、总结 一、概念 我们在页面布局的时候&#xff0c;经常出现以下情况&am…