Vous pouvez utiliser du code comme ci-dessous. Modifiez Get-ChildItem comme requis pour spécifier les fichiers dont vous avez besoin.
$sourcePath = "C:\source"
$destinationPath = "C:\output"
if (!(Test-Path $destinationPath))
{
New-Item -ItemType Directory -Path $destinationPath
}
Get-ChildItem -Path $sourcePath -File | ForEach-Object {
Write-Host "Converting $_"
$content = Get-Content $_.FullName
Set-content (Join-Path -Path $destinationPath -ChildPath $_) -Encoding Ascii -Value $content
}
codage ASCII ne peut pas gérer tous les caractères UTF8 ou autres encodages Unicode peuvent gérer, le caractère qui ne peut pas être traduit peut entraîner? dans le fichier de sortie.
Pour vérifier le codage de la sortie, vous pouvez utiliser PowerShell. Par exemple pour un fichier texte créé dans le Bloc-notes qui dit "Hello, World!"
Les codages suivants produiront ces résultats. Remarque début de UTF-8 a des caractères spéciaux, ceux-ci indiquent que le fichier est UTF-8, pas le format d'enregistrement par défaut dans le bloc-notes.
PS C:\support> [System.IO.File]::ReadAllBytes("C:\support\helloworld_ansi.txt")
72
101
108
108
111
44
32
87
111
114
108
100
33
PS C:\support> [System.IO.File]::ReadAllBytes("C:\support\helloworld_unicode.txt")
255
254
72
0
101
0
108
0
108
0
111
0
44
0
32
0
87
0
111
0
114
0
108
0
100
0
33
0
PS C:\support> [System.IO.File]::ReadAllBytes("C:\support\helloworld_utf8.txt")
239
187
191
72
101
108
108
111
44
32
87
111
114
108
100
33
PS C:\support>
Cela écrasera les fichiers d'origine. La requête consiste à écrire des fichiers dans un autre dossier. – andyb
Modifier le contenu de l'ensemble à l'endroit où vous voulez écrire les fichiers, en ajoutant l'exemple –
Un peu sanglant effronté. Votre réponse initiale a raté le point de la question. Quand je le fais remarquer, tu déchires ma réponse. Agréable. – andyb