Cum mapezi Network Drive folosind cmdlet Powershell – New-PSDrive
Cmdlet-ul New-PSDrive este utilizat pentru a crea unități logice pe un computer, inclusiv maparea unităților la foldere de rețea partajate/shared.
[mai mult...]Soluții pentru problemele tale IT
Cmdlet-ul New-PSDrive este utilizat pentru a crea unități logice pe un computer, inclusiv maparea unităților la foldere de rețea partajate/shared.
[mai mult...]Windows Terminal are o nouă caracteristică experimentală care vă permite să integrați un chatbot AI direct în linia de comandă.
Cu integrarea serviciilor GitHub Copilot, Azure OpenAI și OpenAI, puteți solicita asistență AI din mediul de linie de comandă Windows Terminal. Acest asistent AI vă ajută să generați comenzi PowerShell și scripturi complete, să înțelegeți sintaxa, să depanați erorile și să primiți sugestii inteligente. Funcția experimentală de chat AI este disponibilă numai în versiunea Canary a Windows Terminal.
[mai mult...]AI Shell pentru PowerShell este un shell de comandă interactiv care integrează o funcție de chat AI în linia de comandă Windows. Această caracteristică oferă utilizatorilor, asistență AI pentru crearea comenzilor și scripturilor PowerShell, interpretarea erorilor și accesarea explicațiilor detaliate ale codului. Cu AI Shell, puteți utiliza OpenAI Agent și Azure Copilot preinstalate, precum și modele AI terțe.
[mai mult...]Daca dorim sa accesam meniul Settings and more fara a ne lua mainile de pe tastatura, putem folosi doua combinatii de taste.
Intr-un articol anterior v-am aratat cum sa accesati meniul prin combinatia de taste Alt + F, iar astazi vom folosi o alta combinatie de taste care ne va conduce la acelasi rezultat.
[mai mult...]Cautarea dupa un cuvant cheie intr-o pagina web functioneaza asemanator cu cea dintr-un editor de text, de exemplu.
[mai mult...]Firmele care sunt obligate acum sa lucreze cu sistemul electronic eFactura intampina o problema. Facturile emise catre firma respectiva trebuie descarcate din eFactura si pastrate in arhiva.
Problema este data de faptul ca fiecare factura primita, si la multe firme sunt sute de facturi lunar, se pot descarca doar individual.Aceasta se rezolva insa cu ajutorul unui addon de descarcare care se poate instala cu usurinta in Chrome, si care ne va permite sa descarcam bulk toate fisierele tip XML o singura data.
O alta prolema este data de faptul ca acele fisiere XML nu au un nume care sa aiba o indicatie vis-a-vis de numele firmei emitente si numarul facturii, lucru ce face ca identificarea ulterioara sa fie dificila.Pentru aceasta am dezvoltat un script Powershell, care redenumeste fisierele XML dintr-un folder prestabilit, dupa doua linii de cod din interiorul fiecarui XML, una contine numele firmei emitente si cealalta numarul facturii.
Aceste linii sunt:
camp numar si serie factura: “<cbc:ID>AB/117</cbc:ID>”
camp firma emitenta: “<cbc:RegistrationName>Orange Romania S.A.</cbc:RegistrationName>”
Scriptul 1 este un script powershell:
$folder = “cale folder de forma D:\xmlredenumire”
Set-Location $folder
Get-ChildItem -Filter *.xml | ForEach-Object {
try {
[xml]$xml = Get-Content $_.FullName
$nsmgr = New-Object System.Xml.XmlNamespaceManager($xml.NameTable)
$nsmgr.AddNamespace(‘cbc’, ‘urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2’)
$invoiceNode = $xml.SelectSingleNode(‘//cbc:ID’, $nsmgr)
$companyNode = $xml.SelectSingleNode(‘//cbc:RegistrationName’, $nsmgr)
if (-not $invoiceNode) { $invoiceNode = $xml.SelectSingleNode(‘//ID’) }
if (-not $companyNode) { $companyNode = $xml.SelectSingleNode(‘//RegistrationName’) }
if ($invoiceNode -and $companyNode) {
$invoice = $invoiceNode.InnerText -replace ‘[\\/:”*?<>|]’, ‘-‘
$company = $companyNode.InnerText -replace ‘[\\/:”*?<>|]’, ” -replace ‘\s+’, ‘_’
$newName = “$company-$invoice.xml”
if ($_.Name -ne $newName) {
Rename-Item $_.FullName -NewName $newName
Write-Host “Renamed ‘$($_.Name)’ to ‘$newName'”
} else {
Write-Host “File ‘$($_.Name)’ already named correctly.”
}
} else {
Write-Warning “Could not find invoice or company name in ‘$($_.Name)’. Skipped.”
}
} catch {
Write-Warning “Error processing ‘$($_.Name)’: $_”
}
}
In cazul in care apar fisiere xml cu nume diferite (am mentionat ca numele fisierului XML este unul generic de forma download01.xml, downloa02.xml, download27062025.xml), ceea ce inseamna ca o firma furnizoare a incarcat de doua ori aceeasi factura, scriptul nu modifica al doilea fisier xml, asa ca rezultatul final este lista corecta de xml.
separat, am conceput un script bat, care poate fi rulat prin dublu click.
Continut fisier bat:
@echo off
powershell.exe -NoProfile -ExecutionPolicy Bypass -File “calea unde se afla fisierul cu scriptul poweshell – exemplu D:\xmlredenumire\rename_xmls.ps1”
pause
La rularea scriptului BAT, tuturor fisierelor xml din folderul – exemplu D:\xmlredenumire, li se va schimba numele dupa model:
furnizor _ numar serie factura .xml
[mai mult...]