使用引号可以定义字符串,如果想让自己定义的字符串原样输出,可以使用单引号。

1
2
$text='$fei $(tai) $env:windir 飞苔博客 (20+2012)'
$text

输出:
$fei $(tai) $env:windir 飞苔博客 (20+2012)

如果想让自己的定义的字符中的变量被内容替换,表达式被执行可以使用双引号.

1
2
3
$site="飞苔博客 Powershell博客"
$text="$site $(get-date) $env:windir"
$text

输出:
飞苔博客 Powershell博客 08/25/2012 18:49:41 C:windows

文本中的特殊字符

如果文本放置在一个闭合的双引号中,Powershell解释器回去寻找特殊字符.在这方便主要有两种特殊字符,一个是变量的前缀“$”,一个是反引号“·”位于数字键1左边。

处理变量

将变量放在字符串中,输出时变量会被替换成变量本身的值或者内容。如果将表达式放置在字符串中,并且使用的格式如“$(expression)”,表达式也会被执行,并被替换成表达式执行的输出。

1
2
3
4
5
6
"系统目录位于:$env:windir"
"默认安装程序目录位于:$env:ProgramFiles"
"机器名为:$env:computername"
 
"当前日期:$(get-date)"
"1GB=$(1gb/1kb)KB"

输出:

“系统目录位于:$env:windir”
“默认安装程序目录位于:$env:ProgramFiles”
“机器名为:$env:computername”

“当前日期:$(get-date)”
“1GB=$(1gb/1kb)KB”

Powershell转义字符

在其它编程语言中喜欢将反斜杠作为转义字符,但是在Powershell中扮演转义字符角色的不是反斜杠,而是反引号“`”字符串中的反引号,会对紧跟随其后的字符进行特殊处理。例如下面的,在一个字符串中输出双引号,和换行符。

1
2
3
4
5
6
#使用单引号闭合字符串输出双引号
'The site of my blog is"www.mossfly.com"'
#使用转义字符输出双引号
“My blog site is`"www.mossfly.com`""
#在字符串中输出换行符
“The site of my blog is `"www.mossfly.com`",`n飞苔博客"

输出:

The site of my blog is”www.mossfly.com”
My blog site is”www.mossfly.com”
The site of my blog is “www.mossfly.com”,
飞苔博客

其它的转义字符如下表

Powershell转义字符表
转义字符 描述
`n 换行符
`r 回车符
`t 制表符
`a 响铃符
`b 退格符
`’ 单引号
`” 双引号
`0 Null
反引号本身

Here strings 定义多行文本

@“字符串”@格式定义多行文本,尤其是较长的文本,再好不过了

1
2
3
4
5
6
@"
这首诗用来评价陶渊明的诗歌再好不过了
 
一语天然万古新,豪华落尽见真淳。
南窗白日羲皇上,未害渊明是晋人。
"@

这里要注意开始和结束的标记必须另起一行。

用户交互

如果要提示用户输入可以使用read-host

PS E:> $name=Read-Host "请输入您的用户名"
请输入您的用户名: Mosser Lee
PS E:> "您输入的用户名为:$name"
您输入的用户名为:Mosser Lee

只是有一点Read-Host存储的字符串使用的单引号闭合,也就是说不会自动解析变量,不过可以通过ExpandString方法解析,例如:

PS E:> $inputPath=Read-Host "请输入文件路径"
请输入文件路径: $env:windir
PS E:> $inputPath
$env:windir
PS E:> $ExecutionContext.InvokeCommand.ExpandString($inputPath)
C:windows

但是如果想通过Read-Host接受敏感数据,比如密码,可以使用-asSecureString选项,不过这样读取到的数据为SecureString,及为加过密后的数据,当然你可以将密码转换成普通文本.

PS E:> $pwd=Read-Host -AsSecureString "请输入密码"
请输入密码: ******
PS E:> $pwd
System.Security.SecureString
PS E:> [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($pwd))
abc123
询问用户名和密码

如果你想授权一个用户需要提供用户凭据,可以使用Get-Credential命令,该命令会弹出一个安全对话框,一旦用户输入完毕,就会返回一个Credential对象包含用户名和密码

PS E:> $cre=Get-Credential MossserLee
PS E:> $cre
UserName Password
-------- --------
MossserLee System.Security.SecureString

Powershell 定义文本的更多相关文章

  1. CSS属性定义 文本修饰 边框效果 背景修饰

    一.CSS属性定义1.css颜色表示方法[重点]rgb(红绿蓝3个颜色通道 强度值为0-255)rgb(0,0,0)rgba(alpha a是透明度 值为0-1)rgba(123,123,123,0) ...

  2. powershell 将文本转换成表格的还有一种方式

    $text=" 1 梦幻西游 216406 2014-01-21 资料片 2 炉石传说 15905 2014-01-24 公測 3 新大话西游 214465 2002-08-01 公測 4 ...

  3. 用powershell实现自动化操作

    每天登录OA太繁琐,公司OA又只允许用IE,本身写chrome扩展水平也不高,更搞不懂selenium 既然是windows下工作,当然还得微软的东东.研究了几天,才发现用powershell就很方便 ...

  4. Powershell --在线学习

    介绍和安装 自定义控制台 快速编辑模式和标准模式 快捷键 管道和重定向 Powershell交互式 数学运算 执行外部命令 命令集 别名 通过函数扩展别名 执行文件和脚本 Powershell变量 定 ...

  5. PowerShell 在线教程 4

    PowerShell 在线教程 4   认识Powershell 介绍和安装 自定义控制台 快速编辑模式和标准模式 快捷键 管道和重定向 Powershell交互式 数学运算 执行外部命令 命令集 别 ...

  6. Powershell快速入门

    Powershell快速入门 来源: https://blog.csdn.net/u011054333/article/details/72567590 https://blog.csdn.net/u ...

  7. 【189】◀▶ PowerShell 系统学习

    参考网站如下: PowerShell 中文博客      PowerShell 博客——叹为观止 Mater-PowerShell      通过 PowerShell 编写脚本      Power ...

  8. SVG 文本

    该部分为四个主要部分: 1.  <text>和<tspan>标签详解 2.  文本水平垂直居中问题 3.  <textpath>让文本在指定路径上排列  4 ...

  9. [HTML/HTML5]4 使用文本

    4.1  组织文本 在已经采用结构化方式将页面划分为多个关键内容区域(content area)并添加相应的标题之后,就可以进一步对这些内容区域中的文本进行组织. 4.1.1  段落 p元素的具体功能 ...

随机推荐

  1. Android视频录制

    public class MainActivity extends Activity { private MediaRecorder videoRecorder=null; private Butto ...

  2. html+css显示代码书写版式

    由于要显示行数,所以需选用html的列表标签ol,以下代码可以显示代码书写版式的效果: <style> .code-part { background: yellow; } .code-p ...

  3. C#的checked和unchecked

    C#的 checked关键字用于对整型算术运算和转换显式启用溢出检查. 简单点说,我们在进行数值计算时,运算结果可能会超出该类型能表达的数值范围,因而结果溢出.而这个溢出如果是含有变量的表达式的话,编 ...

  4. 日积月累:EditText软键盘的显示和隐藏

    在工作过程中,常常会遇见需要根据自己的需求,控制文本框的键盘显示和隐藏. 通过查阅Android文档,介绍可以通过在清单文件中<activity>元素中添加android:windowSo ...

  5. lesson3:使用java代码的方式对不能识别的协议进行压力测试

    在我们的实际环境中,我们所使用的协议肯定不只是http的方式,对于rpc等调用协议,目前jmeter没有相应的sampler支持,这时就需要通过引入我们自己写的jar包的方式来解决这个问题.例如:当我 ...

  6. FilterDispatcher 的作用(struts2.1.3以前,新版本改了)

    org.apache.struts2.dispatcher.FilterDispatcher是Struts2的主要的Filter,负责四个方面的功能: (1)执行Actions (2)清除Action ...

  7. 最长回文字符串(manacher算法)

    偶然看见了人家的博客发现这么一个问题,研究了一下午, 才发现其中的奥妙.Stupid. 题目描述:      回文串就是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串. ...

  8. Linux菜鸟学习笔记--Linux系统结构

      什么是Linux? Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核.严格来讲,Linux这个词本身只表示Linux内核,但实际上人 ...

  9. CAEmitterLayer实现粒子效果

    在iOS 5中,苹果引入了一个新的CALayer子类叫做CAEmitterLayer.CAEmitterLayer是一个高性能的粒子引擎,被用来创建实时例子动画如:烟雾,火,雨等等这些效果. CAEm ...

  10. ios 基于CAEmitterLayer的雪花,烟花,火焰,爱心等效果demo

    demo功能:基于CAEmitterLayer的雪花,烟花,火焰,爱心等效果. demo说明:基于Core Animation的粒子发射系统,粒子用CAEmitterCell来初始化. 粒子画在背景层 ...