58 votes

Création d'un nouveau fichier via Windows Powershell

J'ai cherché sur Google la question ci-dessous, mais je n'ai pas trouvé de réponse. Quelqu'un peut-il m'aider ? Quelle est la commande permettant de créer un nouveau fichier via Windows Powershell ?

0 votes

Quel type de file essayez-vous de créer ? Ou en d'autres termes, quelle extension de fichier ? Comme .txt .docx etc...

2 votes

Étrange I obtenir de nombreux résultats avec votre titre exact dans google N'attendez pas des autres plus que ce que vous êtes prêt à faire -1.

64voto

J. D. Points 1100

Je suppose que vous essayez de créer un fichier texte ?

New-Item c:\scripts\new_file.txt -type file

Où " C:\scripts\new_file.txt "est le chemin d'accès complet, y compris le nom et l'extension du fichier.

Tiré de Article de TechNet

0 votes

++, mais notez que vous ne créez pas une texte vous créez un fichier zéro-octet (fichier vide) - qui n'a pas de type inhérent.

2 votes

Ceci devrait être la réponse. Get, Start, New, etc. est une nouvelle ère de cmdlet qui est formidable pour les administrateurs système. Il suffit de laisser l'ancienne commande derrière.

0 votes

Comment créer le fichier et chaque répertoire dans le chemin d'accès ?

54voto

Jože Strožer Points 485

Pour créer un fichier en utilisant echo

echo some-text  > filename.txt

Exemple :

C:\>echo This is a sample text file > sample.txt
C:\>type sample.txt
This is a sample text file
C:\>

Pour créer un fichier en utilisant fsutil

fsutil file createnew filename number_of_bytes

Exemple :

fsutil file createnew sample2.txt 2000
File C:\sample2.txt is created
C:\data>dir
01/23/2016  09:34 PM     2,000 sample2.txt
C:\data>

Limites

Fsutil ne peut être utilisé que par les administrateurs. Pour les utilisateurs non-administrateurs, il génère l'erreur suivante.

c:\>fsutil file /?

L'utilitaire FSUTIL nécessite que vous ayez des privilèges administratifs. c:>

J'espère que cela vous aidera !

7 votes

S'il vous plaît, ne suggérez pas l'utilisation de echo - un alias pour le rarement nécessaire Write-Output cmdlet - car c'est une mauvaise habitude à promouvoir dans le monde PowerShell. Les nouveaux arrivants ont besoin d'être guidés vers l'outil PowerShell implicite modèle de sortie : 'some-text' > filename.txt . Si votre code est destiné à être cmd.exe (cela fonctionne aussi comme cela), veuillez noter que la question est étiquetée powershell .

24voto

Gajendra D Ambi Points 1106

Street smart (rapide, sale mais qui fonctionne) : (pourrait modifier le fichier et ajouter un caractère invisible qui pourrait faire échouer le compilateur)

$null > file.txt
$null > file.html

Méthode du manuel :

New-Item -path <path to the destination file> -type file

exemple :

New-Item -path "c:\" -type file -name "somefile.txt"

OU

ni file.xt -type file

L'absence du paramètre -path signifie qu'il est créé dans le répertoire de travail actuel.

1 votes

Il y a tellement d'excellentes options, en particulier le raccourci cmd. ni avec le répertoire de travail

19voto

themefield Points 393
ni filename.txt

Remplacer filename.txt avec votre fichier .

J'ai trouvé que c'était la réponse la plus simple à la question, et je me réfère aux autres réponses pour plus de détails.

1 votes

Une chose rapide à souligner ici est que ni est un alias par défaut pour l'option New-Item commande. Les informations sur les alias d'une commande spécifique peuvent être consultées via le bouton gal -definition commande, par exemple gal -definition New-Item .

3 votes

J'ai beaucoup aimé cette réponse. De plus, ni (New-Item) crée le fichier avec un encodage UTF-8 et echo le crée avec un encodage ucs-2 le bom(UTF-16). À moins que vous ne changiez l'encodage, les fichiers créés avec echo seront deux fois plus volumineux.

0 votes

C'est le plus simple. Notez qu'en exécutant ceci, mon powershell a demandé le type, j'ai mis dans file

9voto

Josh H Points 61

Voici une autre façon de créer un fichier texte vierge dans Powershell qui vous permet de spécifier l'encodage.

Premier exemple

Pour un fichier texte vierge :

Out-File C:\filename.txt -encoding ascii

Sans -encoding ascii Powershell utilise par défaut le format Unicode. Vous devez spécifier ascii si vous voulez qu'il soit lisible ou modifiable par une autre source.

Écraser le fichier avec un nouveau texte :

"Some Text on first line" | Out-File C:\filename1.txt -encoding ascii

Cela remplace le texte qui se trouve dans filename.txt avec Some Text on first line.

Ajout de texte au contenu du fichier actuel :

"Some More Text after the old text" | Out-File C:\filename1.txt -encoding ascii -Append

Spécifier -Append laisse le contenu actuel de filename.txt seul et ajoute Some More Text after the old text à la fin du fichier, en laissant le contenu actuel intact.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X