怎么用脚本获取系统路径

wen 实用脚本 2

本文目录导读:

怎么用脚本获取系统路径

  1. Python (跨平台)
  2. Shell 脚本 (Bash/Linux/Mac)
  3. Windows 批处理 (CMD/Bat)
  4. PowerShell (Windows/Linux/Mac)
  5. Node.js/JavaScript
  6. 一键获取所有路径的完整脚本
  7. 使用方法

我来为您提供几种获取系统路径的方法,涵盖不同的编程语言和操作系统:

Python (跨平台)

获取环境变量中的路径

import os
import sys
# 获取PATH环境变量
path = os.environ.get('PATH', '')
print("PATH:", path)
# 获取当前工作目录
current_dir = os.getcwd()
print("当前目录:", current_dir)
# 获取Python安装路径
python_path = sys.executable
print("Python路径:", python_path)
# 获取系统目录
system_root = os.environ.get('SystemRoot', 'C:\\Windows')
print("系统目录:", system_root)
# 获取用户目录
user_profile = os.environ.get('USERPROFILE', '')
print("用户目录:", user_profile)

实用的路径操作

import os
import platform
def get_system_paths():
    """获取各种系统路径"""
    system = platform.system()
    paths = {
        '系统类型': system,
        'PATH变量': os.environ.get('PATH', ''),
        '当前目录': os.getcwd(),
        '临时目录': os.environ.get('TEMP', ''),
        '用户目录': os.path.expanduser('~')
    }
    if system == 'Windows':
        paths.update({
            '系统目录': os.environ.get('SystemRoot', ''),
            '用户配置文件': os.environ.get('USERPROFILE', ''),
            '程序文件': os.environ.get('ProgramFiles', ''),
            '程序文件(x86)': os.environ.get('ProgramFiles(x86)', '')
        })
    elif system == 'Linux' or system == 'Darwin':
        paths.update({
            'HOME': os.path.expanduser('~'),
            '路径分隔符': os.pathsep
        })
    return paths
# 使用示例
for key, value in get_system_paths().items():
    print(f"{key}: {value}")

Shell 脚本 (Bash/Linux/Mac)

#!/bin/bash
echo "=== 系统路径信息 ==="
# 获取PATH变量
echo "PATH变量: $PATH"
# 获取当前目录
echo "当前目录: $(pwd)"
# 获取家目录
echo "家目录: $HOME"
# 获取系统架构
echo "系统架构: $(uname -m)"
# 获取系统名称
echo "系统名称: $(uname -s)"
# 查找可执行文件路径
echo "命令路径: $(which python)"
echo "命令路径: $(which ls)"
# 列出所有PATH中的目录
echo -e "\nPATH包含的目录:"
echo "$PATH" | tr ':' '\n' | while read dir; do
    if [ -d "$dir" ]; then
        echo "  [存在] $dir"
    else
        echo "  [不存在] $dir"
    fi
done
# 获取系统配置文件路径
echo -e "\n配置文件路径:"
echo "/etc/profile"
echo "~/.bashrc"
echo "~/.profile"

Windows 批处理 (CMD/Bat)

@echo off
echo === 系统路径信息 ===
:: 获取PATH变量
echo PATH变量: %PATH%
:: 获取当前目录
echo 当前目录: %CD%
:: 获取Windows目录
echo Windows目录: %WINDIR%
:: 获取系统目录
echo 系统目录: %SystemRoot%
:: 获取用户目录
echo 用户目录: %USERPROFILE%
:: 获取临时目录
echo 临时目录: %TEMP%
:: 获取程序文件路径
echo 程序文件: %ProgramFiles%
echo 程序文件(x86): %ProgramFiles(x86)%
:: 获取系统驱动目录
echo 系统驱动: %SystemDrive%
:: 输出到文件
set "output=system_paths.txt"
(
echo 系统路径信息:
echo PATH: %PATH%
echo 当前目录: %CD%
echo Windows: %WINDIR%
echo 用户: %USERPROFILE%
) > %output%
echo 已保存到 %output%

PowerShell (Windows/Linux/Mac)

# 获取所有环境变量
Get-ChildItem Env:
# 获取特定路径
Write-Host "PATH: $env:PATH"
Write-Host "当前目录: $(Get-Location)"
Write-Host "Windows目录: $env:WINDIR"
Write-Host "用户目录: $env:USERPROFILE"
Write-Host "临时目录: $env:TEMP"
# 获取系统路径数组
$systemPaths = $env:PATH -split ';'
Write-Host "路径数组:" 
$systemPaths | ForEach-Object { Write-Host "  $_" }
# 获取系统信息
Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion
# 导出到文件
$envInfo = @{
    PATH = $env:PATH
    WorkingDirectory = (Get-Location).Path
    SystemRoot = $env:SystemRoot
    UserProfile = $env:USERPROFILE
    Temp = $env:TEMP
}
$envInfo | ConvertTo-Json | Out-File "system_paths.json"

Node.js/JavaScript

// 获取系统路径
const os = require('os');
const path = require('path');
// 环境变量
console.log('PATH:', process.env.PATH);
console.log('HOME:', os.homedir());
console.log('临时目录:', os.tmpdir());
// 当前工作目录
console.log('当前目录:', process.cwd());
// 系统信息
console.log('平台:', os.platform());
console.log('架构:', os.arch());
// 路径操作
console.log('分隔符:', path.sep);
console.log('路径分隔符:', path.delimiter);
// 获取系统配置目录
const systemPaths = {
    home: os.homedir(),
    temp: os.tmpdir(),
    cwd: process.cwd(),
    env: process.env.PATH,
    userInfo: os.userInfo()
};
console.log('系统路径:', JSON.stringify(systemPaths, null, 2));

一键获取所有路径的完整脚本

这里提供Python编写的完整脚本,可以保存为 get_paths.py:

#!/usr/bin/env python3
import os
import sys
import platform
import json
from datetime import datetime
def get_all_system_paths():
    """获取所有相关的系统路径"""
    paths = {
        "时间": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
        "系统": platform.system(),
        "版本": platform.version(),
        "架构": platform.machine(),
        "Python版本": sys.version,
        "Python路径": sys.executable,
        "当前目录": os.getcwd(),
        "家目录": os.path.expanduser("~"),
        "临时目录": os.environ.get("TEMP", ""),
        "PATH": os.environ.get("PATH", ""),
    }
    # 显示所有环境变量中的路径
    paths["环境变量"] = {}
    for key, value in os.environ.items():
        if "path" in key.lower() or "dir" in key.lower():
            paths["环境变量"][key] = value
    return paths
def main():
    paths = get_all_system_paths()
    print("=" * 50)
    print("系统路径信息")
    print("=" * 50)
    for key, value in paths.items():
        if isinstance(value, dict):
            print(f"\n{key}:")
            for k, v in value.items():
                print(f"  {k}: {v}")
        else:
            print(f"{key}: {value}")
    # 可选:保存到文件
    save = input("\n是否保存到文件?(y/n): ").lower()
    if save == 'y':
        with open('system_paths.json', 'w', encoding='utf-8') as f:
            json.dump(paths, f, indent=2, ensure_ascii=False)
        print("已保存到 system_paths.json")
if __name__ == "__main__":
    main()

使用方法

  1. Python: python get_paths.py
  2. Shell: chmod +x script.sh && ./script.sh
  3. Batch: 双击运行或 cmd /c script.bat
  4. PowerShell: powershell script.ps1

这些脚本会输出系统的各种路径信息,帮助您了解系统的配置和目录结构,根据您的具体需求,可以选择合适的方法来获取系统路径。

抱歉,评论功能暂时关闭!