Weboldal keresés

PowerShell Dátum hozzáadása a fájlnévhez [6 Ways]


Ha nem szeretné átnevezni a fájlt, és csak a karakterlánc formátumát szeretné megváltoztatni, akkor közvetlenül ugorhat a csatlakozási útvonal szakaszra.

Az Elem átnevezése parancsmag használatával

Használja a -Rename-Item parancsmagot a dátum hozzáadásához a fájlhoz a PowerShellben

Használja az -Elem átnevezése parancsmagot:

$Filename = "C:\Test1\File1.txt"
$newFilename = "C:\Test1\File1_$(Get-Date -Format yyyy-MM-dd).txt"
Rename-Item -Path $Filename -NewName $newFilename
Write-Host "New filename: $newFilename"

Kimenet:

New filename: C:\Test1\File1_2023-04-25.txt

A fenti kód a következő módon működik:

  • Először beállítja a $Filename változót az átnevezni kívánt eredeti fájl elérési útjára, amely a C:\Test1\File1.txt.
  • Ezután létrehozunk egy új fájlnevet úgy, hogy a fájlnév végéhez hozzáfűzzük az aktuális dátumot éééé-hh-nn formátumban. A dátum kívánt formázásához a Get-Date parancsot használjuk a -Format paraméterrel. Az eredményül kapott új fájlnevet a $newFilename változó tárolja.
  • Ezt követően a Elem átnevezése paranccsal az eredeti fájlt az új fájlnévre nevezi át. A -Path paraméter a $Filename változóban tárolt kezdeti fájl elérési útjának meghatározására szolgál, míg a -NewName paraméter. az új fájlnév megadására szolgál, amely a $newFilename változóban van tárolva
  • Végül a szkript a C:\Test1\Fájl1.txt nevét C:\Test1\Fájl1_2023-04-19.txt-ra módosítja, ahol yyyy- MM-nn az aktuális dátumot jelzi az év-hónap-nap elrendezésben.

System.IO.Path osztály használata Move-Item parancsmaggal

Ha dátumot szeretnénk hozzáadni a fájlnévhez, különféle System.IO.Paths metódusokat és Move-Item parancsmagot használhatunk a metódus nevének megváltoztatásához.

  • A GetDirectoryName() használatával kaphatja meg a könyvtár nevét.
  • Használja a GetFileNameWithoutExtension() parancsot a fájlnév kiterjesztés nélküli lekéréséhez.
  • A fájl kiterjesztésének lekéréséhez használja a GetExtension() parancsot.
  • Az aktuális dátum hozzáfűzése a fájlnévhez, és a végére adjon hozzá kiterjesztést.
  • Használja a combine() metódust a könyvtár és a fájlnév kombinálásához.
  • Elem áthelyezése parancsmag a fájl nevének módosításához.

Használja a -csere operátort:

[string]$filePath = "C:\Users\Arpit\Desktop\powershell\File1.txt";

[string]$directory = [System.IO.Path]::GetDirectoryName($filePath);
[string]$strippedFileName = [System.IO.Path]::GetFileNameWithoutExtension($filePath);
[string]$extension = [System.IO.Path]::GetExtension($filePath);
[string]$newFileName = $strippedFileName +"-"+[DateTime]::Now.ToString("yyyyMMdd-HHmmss") + $extension;
[string]$newFilePath = [System.IO.Path]::Combine($directory, $newFileName);

Move-Item -LiteralPath $filePath -Destination $newFilePath;

start-sleep -Seconds 30

Kimenet:

File3-20230624-132353

A [System.IO.Path]::ChangeExtension() módszer használata

Használja a [System.IO.Path]::ChangeExtension() metódust a dátum hozzáadásához a fájlhoz a PowerShellben. Ez a módszer akkor hasznos, ha módosítani szeretné a fájl kiterjesztését is.

A ChangeExtension() metódus használata:

$filename = "C:\Test1\File1.txt"
$newExtension = [System.IO.Path]::ChangeExtension($filename, ".txt")
$newFilename = "{0}-{1}{2}" -f [System.IO.Path]::GetFileNameWithoutExtension($newExtension), (Get-Date -Format 'yyyy-MM-dd'), [System.IO.Path]::GetExtension($newExtension)
Rename-Item $filename $newFilename
Write-Host "New filename: $newFilename"

Kimenet:

New filename: File1-2023-04-25.txt

A fenti kód a következő módon működik:

  • Felveszi egy szöveges fájl elérési útját, és hozzárendeli a $filename változóhoz.
  • Ezután a .NET osztály System.IO.Path használatával módosítja a $filename fájlkiterjesztést .txt-re, és hozzárendeli az új elérési utat a $newExtension változó.
  • Ezenkívül a System.IO.Path .NET osztályt használja a fájlnév kiterjesztés nélküli kibontására a $newExtension fájlból, és a $newFilename mappában tárolja.
  • Ezután hozzáfűzi az aktuális dátumot éééé-hh-nn formátumban, és a fájl kiterjesztését a $newFilename karakterlánchoz a -f.
  • Végül megjeleníti a kimenetet a Write-Host parancsmag használatával úgy, hogy hozzáadja az aktuális dátumot a fájlnévhez, és átnevezi az eredeti fájlt az új fájlnévvel.

A Join-Path parancsmag használatával

Használja a Join-Path parancsmagot a dátum hozzáadásához a fájlhoz a PowerShellben

A Join-Path parancsmag használata:

$filename = "File1"
$path = "C:\Test1\"
$date = Get-Date
$formatDate = $date.ToString("yyyy-MM-dd")
$newFilename = "$filename-$formatDate.txt"
$newPath = Join-Path -Path $path -ChildPath $newFilename
Write-Host "$newpath"

Kimenet:

C:\Test1\File1-2023-04-19.txt

A Join-Path parancsmag hasznos módja az elérési utak és fájlnevek kombinálásának a PowerShellben. Például létrehozhatunk vele egy új fájlnevet a dátum hozzáadásával. Például a fenti kód a következő módon működik:

  • A $filename változó értékét "Fájl1" értékre állítja.
  • A $path változó értékét C:\Test1 értékre állítja.
  • A Get-Date parancsmag segítségével lekéri az aktuális dátumot és időt, és a $date változóban tárolja.
  • Formázza a dátumot karakterláncként yyyyMMdd formátumban a ToString() metódussal, és tárolja a $formatDate változóban.
  • Összefűzi a $filename és $formatDate változókat kötőjel elválasztóval és .txt fájlkiterjesztéssel, és a $newFilename változóban tárolja .
  • A Join-Path parancsmag segítségével kombinálja a $path és a $newFilename változókat, hogy teljes fájl elérési utat hozzon létre, és a $newPath.
  • Végül a Write-Host parancsmag segítségével kiadja a $newPath értékét a konzolnak a dátumhoz fűzött dátummal a leírt formátumban.

A -f Format Operator használatával

Használja a -f formátumú operátort dátum hozzáadásához a fájlhoz a PowerShellben

Használja az -f formátum operátort:

$filename = "File1"
$path = "C:\Test1\"
$date = Get-Date
$formatDate = $date.ToString("yyyy-MM-dd")
$newFilename = "{0}_{1}.txt" -f $filename, $formatDate
Write-Host "$newFilename"

Kimenet:

File1_2023-04-19.txt

A fent bemutatott kód hasonló az előzőhöz, de a -f formátumú operátort használja a dátum és a fájlnév összekapcsolásához.

Pontosabban, a $newFilename="{0}_{1}.txt" -f $fájlnév, $formattedDate sor egy új karakterláncot generál a fájlnévhez egy olyan formátumú karakterlánc használatával, amely helyőrzőket tartalmaz {0} és {1} a $filename és $formattedDate változókhoz.

A -f operátor lecseréli a helyőrzőket a változók megfelelő értékeire. A végén a kimenet a teljes fájlnevet és az aktuális dátumot mutatja éééé-hh-nn formátumban, aláhúzásjellel elválasztva, és .txt kiterjesztéssel rendelkezik.

A -replace operátor használatával

Használja a -replace operátort dátum hozzáadásához a PowerShell-fájlhoz

Használja a -csere operátort:

$filename = "File1.txt"
$path = "C:\Test1\"
$date = Get-Date
$formatDate = $date.ToString("yyyy-MM-dd")
$newFilename = $filename -replace "\.txt$", "-$formatDate.txt"
Write-Host "$newFilename"

Kimenet:

File1-2023-04-19.txt

Ez a fenti kód hasonló az előző két kódkerítéshez, de a -replace operátort használja a $filename fájl .txt kiterjesztésének lecserélésére. kötőjellel és a formázott dátummal a $formattedDate-ban, és a frissített fájlnevet a $newFilename változóban tárolja.

Végül a végső kimenet megjelenik a Fájl1 nevű fájl teljes elérési útjával és az aktuális dátummal éééé-hh-nn formátumban, aláhúzással elválasztva. és .txt fájlkiterjesztéssel.

Figyelembe véve a fenti megoldásokat, a dátum hozzáadása egy fájlnévhez a PowerShellben egy gyakori feladat, amelyet a rename-item parancsmag, System.IO.Path osztály Move-Item paraméterrel lehet végrehajtani. cmdlet, Join-Path cmdlet, a -f formátum operátor, a -replace operátor, [System.IO.Path ]::ChangeExtension() metódus.

Ez minden arról szól, hogy a PowerShell dátumot ad a fájlnévhez.

Kapcsolódó cikkek