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

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中执行这个脚本后信息如下:

在这里插入图片描述

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值