我最近遇到过这篇文章,但是它已经很旧了,我想你们都希望我开始新的话题。
基本上,我正在编写用于部署WIM的PS脚本。我们将UNC路径映射为映射的驱动器,然后运行一个批处理文件,该文件搜索特定文件并根据其路径创建变量。变量到位后,脚本将继续使用该变量。批处理文件中的代码示例如下所示:
FOR %%i IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%i:\Win10.wim SET _WIMLocation=%%i:
Run Code Online (Sandbox Code Playgroud)
如何在PS中复制类似内容?通常,我会硬编码驱动器号,但是如果其他人使用其他字母映射驱动器,则脚本会中断。因此,这就是为什么它会搜索驱动器号的原因...
我正在使用脚本将文件从一个目录移动到另一个目录.它还通过一些RegEx工作剥离了一些文本.然而,虽然我有一个相对较短的脚本,但我认为我仍然可以做得更好.下面是我的示例脚本.
$Source = "C:\temp\test\source"
$Dest = "C:\temp\test\dest"
get-childitem $Source\*.* | rename-item -newname {$_.name -replace '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}IP\.',''} -WhatIf
move-item $Source\*.* $Dest -WhatIf
Run Code Online (Sandbox Code Playgroud)
现在,这可行,但是,正如你所看到的,它是两行,我很确定它可以在一个中完成.我认为我"没有得到我的钱"是出于move-item命令.如何在不必单独rename-item执行命令的情况下完成此操作?如果您需要更多信息,请告诉我,我会看到我能做些什么.我是PS和RegEx的新手.我更多地处理批处理文件,但我不认为它可以处理RegEx.这就是我尝试PS的原因.