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