PowerShell 脚本的后缀名为什么叫PS1

PowerShell 脚本的后缀名为什么叫PS1,第1张

按照渣软的惯例,Powershell文件的扩展名应巧春段该是.ps的。但是很可惜,早在1985年Adobe公司就推出了PostScript,一种编程语言,其文件格式就是.ps,所以渣软失了先机。

Powershell的森岁版本是从1.0开始的,所以渣软不得已在ps后面加了孝誉个版本号,就这样沿用下来了,Powershell的脚本文件就是.ps1,模块文件就是.psm(Powershell

Module)。

『Shell』 =『图形用户界面(GUI)shell』 + 『命令行界面(CLI)shell』

批处理文件后缀名为 .bat 或 .cmd

脚本文件名为 .ps1 ,也支持CMD的脚本类型(但会通过 cmd.exe 去执行)

脚本文件后缀名为 .sh 或 .bash , 在Windows上可通过 git bash 等方式使用

用户登录后,默认处于家目录(主目录)

通过 变量名=值 的方式定义或修改变量,注意 = 两边不能有空格

通过 $变量名 的方式引用或输出变量

当执行某个命令时,如果是Shell 内部命令 ,则直接执行。否则依照 PATH 中包含的目录搜寻并执行该命令的可执行文件,称为 外部命令

ll 是 ls -l 的别名

默认为 cp -i

若已存在则会更新文件的时间

默认为 rm -i

默认为 mv -i

如果源文件和目标文件在同一目录中,那就是改名举穗

用于将多个文件保存为一个文件。

通常使用 -cvf ,如 tar -cvf test.tar test/ 。

通常使用正亮卜 -xvf ,如 tar -xvf test.tar -C /tmp

不能直接压缩目录键租,必须先用 tar 命令将目录打包,然后才能用 gzip 命令或 bzip2 命令对打包文件进行压缩。或使用 tar 指令打包并压缩 / 解压缩并解打包:

通过在打包指令前加 z 或者 j ,可以打包并压缩为 .tar.gz 或 .tar.bz2 格式,注意此时目标文件的名称建议以 .tar.gz 或 .tar.bz2 结尾。

解压缩与解打包同理。

如不输入账户名则默认切换到 root 账户

也可以单独添加/减少某种权限(如a+x表示为所有人添加执行权限)

结合两者使用可以达成进程总是运行的效果(不受 Ctrl+C 和 session关闭 影响):

kill 进程号 默认为 kill -15 进程号 ,程序会在释放资源后停止,因此可能会被阻塞

kill -9 进程号 会立刻终止进程,但可能会留下一些不完整的文件或状态,影响服务的再次启动

(或先 sudo chmod 777 /etc/rc.local 再用编辑器编辑)

如果是需要持续执行的任务,则startup.sh中的指令需要采用nohup或者服务

查看网络端口状态

查看指定端口状态,如端口未开放则无返回值

使用 | grep 通配符 可以筛选输出结果,如 ls | grep [ab]* 查询所有以a/b开头的文件

不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行

<# :

cls&echo off&cd /d "%~dp0"&mode con lines=5000

rem 搜索/查找当前目录下(包括子文件夹里)的指定扩展名悔弊文件并修改为其他扩展名

set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4

title %#% +%$%%$%/%_% %z%

set "self=%~f0"

powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"

echo%#% +%$%%$%/%_% %z%

pause

exit

#>

$relation=@"

.png612904f4-->.png

.xls.zip-->.xls

"@

$change=New-Object -TypeName System.Collections.ArrayList

$arr=$relation.trim("`r`n") -split '[\r\n]+'

for($i=0$i -lt $arr.length$i++){

    $brr=$arr[$i] -split '-->'

    $reg=[regex]::replace($brr[0], '[\+\.\^\$\{\}\[\]\(\)]', {

        param($m)

        return '\'+$m.groups[0].value

    })

    $reg=$reg.replace('?','.').replace('*','.*')+'$'

    $crr=@($reg, $brr[1])

    [void]$change.add($crr)

}

$self=get-item -literal $env:self

$current=$self.Directory.FullName

$files=@(dir -literal $current -recurse|?{($self.Name -ne $_.Name) -and ($_ -is [System.IO.FileInfo])})

for($i=0$i -lt $files.length$i++){

   如前模 for($j=0$j -lt $change.count$j++){

        if($files[$i].Name -match $change[$j][0]){

            $newname=$files[$i].Name -replace $change[$j][0],$change[$j][1]

            $newfile=$files[$i].Directory.FullName+'\'+$newname

            write-host ($files[$i].FullName+' --> '+$newname)

            #move-item -literal $files[$i].FullName $newfile -ErrorAction SilentlyContinue

            break

 渣缓       }

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12303160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存