"Yourhostiscalled$h ; 更新日期:2024/11/26,互联网资源,高清电影,韩剧美剧,动漫资讯,游戏教程,序列号,破解版,注册机,绿色版,教程网,王者荣耀,SEO教程,网络教程,运营推广,下载中心,破解软件,游戏软件,网站源码,易语言源码,安卓软件,QQ软件,汉化版,无损音乐,MKV,WAV+CUE,FLAC,HQCD,MP3,SACD,DSD,抖音,4K高清,320k,度盘,百度云盘,蓝奏,微云盘,网盘,无广告纯净版,不限速下载,去广告,VIP解析,47" />
脚本专栏 
首页 > 脚本专栏 > 浏览文章

Powershell小技巧之使用-F方法带入数据

(编辑:jimmy 日期: 2024/11/26 浏览:3 次 )

封闭在双引号中的字符串能够直接使用变量,这是常用的手法,如代码:

$name = $host.Name 
"Your host is called $name."

可是这个技巧也有限制。如果你想要显示对象的属性而不是这个变量的本身,例如这样将会失败:

PS> "Your host is called $host.Name."
Your host is called System.Management.Automation.Internal.Host.InternalHost.Name.

这是因为PS仅能解决变量的本身(如$host),而不支持它的属性。

同时你也不能控制数字的格式,执行下面代码,结果看起来有很多位数字:

# get available space in bytes for C: drive 
$freeSpace = ([WMI]'Win32_LogicalDisk.DeviceID="C:"').FreeSpace 
 
# convert to MB 
$freeSpaceMB = $freeSpace / 1MB 
 
# output 
"Your C: drive has $freeSpaceMB MB space available."

这里有一个 -F 方法能同时解决这些问题。只需要将它放在模版文本的左边,它的值就会被正确的带入:

# insert any data into the text template 
'Your host is called {0}.' -f $host.Name 
 
# calculate free space on C: in MB 
$freeSpace = ([WMI]'Win32_LogicalDisk.DeviceID="C:"').FreeSpace 
$freeSpaceMB = $freeSpace /1MB 

# output with just ONE digit after the comma 
'Your C: drive has {0:n1} MB space available.' -f $freeSpaceMB

现在你看,使用-F让你有两个有利条件:这里带括号的占位符指出了带入参数的起始位置,同时它还接受格式。“n1”代表保留1位小数。可以改变它来满足你的需求。

支持PS所有版本

上一篇:Windows Powershell 命令集 cmdlets
下一篇:Windows Powershell 执行外部命令
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap