本帖最后由 5i365 于 2022-3-18 11:21 编辑
回复 3#
大侠好, 经过多次测试, $name文件会替换掉脚本相同目录下的同名文件, 所以移到了临时文件夹进行处理, 一些其它细节也有精简, 加了一些注释, 再次感谢!
________________________________________________________________________________________________________
本人所发所有贴子或代码, 路过的大侠,若认为: 含有瑕疵, 需要改进, 可以增强优化精简之处, 请不吝赐教,感激不尽!
| | | | | | | | | | | | | | | function unzip_plus($path, $name, $code) | | { | | $shell = New-Object -com shell.application | | try | | { | | | | $z = "$path.zip" | | ren $path $z | | | | | | | | | | $shell.Namespace("$env:TEMP").MoveHere("$z\$name") | | | | | | $temp_name = "$env:TEMP\$name" | | $code.Replace('$name', $temp_name) | iex | | | | | | | | if (test-path $temp_name) | | { | | $shell.NameSpace("$z").MoveHere($temp_name) | | } | | | | | | sleep 1 | | | | | | ren $z $path | | | | | | return $true | | } | | catch { $false } | | } | | | | $path = "C:\Users\Administrator\Desktop\test.map" | | | | $name = "123.txt" | | | | $code = @' | | ac $name "我是新加的文本" | | '@ | | | | unzip_plus -path $path -name $name -code $codeCOPY |
|