perl脚本获取Windows系统常用路径信息

2023-12-13 19:27:31

windows系统常用的路径,比如临时目录、资源文件夹、字体保存目录、应用程序数据存放目录等等。在日常操作的时候寻找略有不便。这里用perl写一个脚本,并把这些目录信息格式化为json,方便查找。如下是perl代码:

#! /usr/bin/perl
use v5.14;
use JSON;
use Win32;
use File::Spec;

my $json = {};

$json->{localAppData} = Win32::GetFolderPath(Win32::CSIDL_LOCAL_APPDATA);
$json->{desktop} = Win32::GetFolderPath(Win32::CSIDL_DESKTOP);
$json->{resources} = Win32::GetFolderPath(Win32::CSIDL_RESOURCES);
$json->{cookies} = Win32::GetFolderPath(Win32::CSIDL_COOKIES);
$json->{fonts} = Win32::GetFolderPath(Win32::CSIDL_FONTS);
$json->{history} = Win32::GetFolderPath(Win32::CSIDL_HISTORY);
$json->{recent} = Win32::GetFolderPath(Win32::CSIDL_RECENT);
$json->{startMenu} = Win32::GetFolderPath(Win32::CSIDL_STARTMENU);
$json->{startUp} = Win32::GetFolderPath(Win32::CSIDL_STARTUP);
$json->{system} = Win32::GetFolderPath(Win32::CSIDL_SYSTEM);
$json->{programs} = Win32::GetFolderPath(Win32::CSIDL_PROGRAMS);
$json->{tempDirectory} = File::Spec->catdir(Win32::GetFolderPath(Win32::CSIDL_LOCAL_APPDATA), 'Temp');

$json->{systemInfo}{displayName} = Win32::GetOSDisplayName();
$json->{systemInfo}{archName} = Win32::GetArchName();

for my $key (keys %$json) {
	next if ref($json->{$key}) eq 'HASH';
	$json->{$key} =~ s{\\}{/}g;
}


say to_json($json, { pretty => 1 });

git-bash自带perl环境,推荐下载最新的git-bash,perl版本更高一点。以本人的电脑为例,在git-bash中执行这个脚本后信息如下:

在这里插入图片描述

文章来源:https://blog.csdn.net/focusing_on_cpp/article/details/134857354
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。