vieyahn2017 / shellv

shell command test and study
4 stars 1 forks source link

Powershell脚本 #89

Open vieyahn2017 opened 10 months ago

vieyahn2017 commented 10 months ago

小鲁班(p_xiaoluban) 2023-10-26 20:48 以下为AI生成内容,仅供参考,不允许未经评估直接将生成内容植入工作输出件中。

在PowerShell中,可以使用字符串插值或字符串连接符将命令和文本字符串拼合到一起。

  1. 字符串插值

使用字符串插值,可以将变量或表达式嵌入到字符串中。在字符串中使用$符号,后面跟上变量名或表达式,即可将其插入到字符串中。

例如,将命令和文本字符串拼合到一起,可以使用以下代码:

$filename = "example.txt"
Write-Host "正在处理文件 $filename ..."
Get-Content $filename

在上面的代码中,$filename变量被嵌入到字符串中,以显示正在处理的文件名。

  1. 字符串连接符

使用字符串连接符,可以将多个字符串连接在一起。在PowerShell中,字符串连接符是+号。

例如,将命令和文本字符串拼合到一起,可以使用以下代码:

$filename = "example.txt"
Write-Host "正在处理文件 " + $filename + " ..."
Get-Content $filename

在上面的代码中,使用字符串连接符将文本字符串和变量连接在一起,以显示正在处理的文件名。

vieyahn2017 commented 10 months ago

(Get-Content code/config.properties) -replace '^from_date=.', [string]::Format('from_date={0}/01 00:00:00 GMT+08:00', (Get-Date).ToString("yyyy/MM")) -replace '^to_date=.', [string]::Format('to_date={0}/30 23:59:59 GMT+08:00', (Get-Date).ToString("yyyy/MM")) | Set-Content code/config.properties

vieyahn2017 commented 5 months ago

删除空白文件夹

function Remove-EmptyFolders {
    param([string]$Path)

    # 获取当前目录下的所有子目录
    $Folders = Get-ChildItem $Path -Directory

    # 遍历子目录
    foreach ($Folder in $Folders) {
        # 递归删除子目录中的空文件夹
        Remove-EmptyFolders $Folder.FullName

        # 检查当前目录是否为空
        $Files = Get-ChildItem $Folder.FullName
        if ($Files.Count -eq 0) {
            # 如果当前目录为空,则删除该目录
            Remove-Item $Folder.FullName
        }
    }
}

Remove-EmptyFolders $PWD
vieyahn2017 commented 5 months ago

查找新修改过的文件

Get-ChildItem -Path $PWD -Recurse | Where-Object {$_.LastWriteTime -gt '2024-01-01'} | Select-Object FullName, LastWriteTime
vieyahn2017 commented 5 months ago

查找新修改过的文件 Get-ChildItem -Path $PWD -Recurse | Where-Object {$_.LastWriteTime -gt '2024-01-01'} | Select-Object FullName, LastWriteTime