Инструменты пользователя

Инструменты сайта


windows:scripts:powershell

Это старая версия документа!


PowerShell

Создать копию текущего файла с меткой времени в имени.

Запуск через bat файл.

timestamp_file.bat
@echo off
setlocal
set "PS_EXE=%ProgramFiles%\PowerShell\7\pwsh.exe"
if not exist "%PS_EXE%" set "PS_EXE=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe"
 
set "PS1=%~dp0%~n0.ps1"
"%PS_EXE%" -NoProfile -ExecutionPolicy Bypass -File "%PS1%" %*
 
endlocal
pause
exit
timestamp_file.ps1
# ==========================================================
# File: timestamp_file.ps1
# Purpose: Append current date/time to filename
# Modes:
#   - Rename : переименовать файл
#   - Copy   : создать копию с меткой времени
# Format:
#   NAME.txt -> NAME_2025-11-08_19-37-01.txt
# Usage:
#   .\timestamp_file.ps1 -Path "C:\path\file.txt" -Mode Copy
# ==========================================================
 
param(
    [Parameter(Mandatory = $true)]
    [string]$Path,
 
    [ValidateSet("Rename","Copy")]
    [string]$Mode = "Copy"
)
 
# Проверяем существование файла
if (-not (Test-Path -Path $Path -PathType Leaf)) {
    Write-Host "[!] File not found:" $Path -ForegroundColor Red
    exit 1
}
 
# Разбираем путь и имя
$dir  = Split-Path $Path
$name = [System.IO.Path]::GetFileNameWithoutExtension($Path)
$ext  = [System.IO.Path]::GetExtension($Path)
 
# Временная метка
$timestamp = (Get-Date).ToString("yyyy-MM-dd_HH-mm-ss")
$newName = "${name}_${timestamp}${ext}"
$newPath = Join-Path $dir $newName
 
# Проверка существования целевого файла
if (Test-Path $newPath) {
    Write-Host "[!] Target file already exists:" $newPath -ForegroundColor Yellow
    exit 1
}
 
# Выполняем действие
switch ($Mode) {
    "Rename" {
        Rename-Item -Path $Path -NewName $newName
        Write-Host "[✓] File renamed to:" $newName -ForegroundColor Cyan
    }
    "Copy" {
        Copy-Item -Path $Path -Destination $newPath
        Write-Host "[✓] Copy created:" $newName -ForegroundColor Cyan
    }
}
windows/scripts/powershell.1763041137.txt.gz · Последнее изменение:

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution 4.0 International
CC Attribution 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki