Je tente d'écrire un caractère ASCII NULL (NUL) à un fichier d'un script de lots Windows sans succès. J'ai initialement essayé d'utiliser qui semble être fonctionné (en tapant ce dont j'ai besoin exactement, mais que si je le tape manuellement dans la fenêtre de commande. Si je l'exécute à partir d'un fichier de commandes, il se bloque jusqu'à ce que je appuyais sur Je veux vraiment le fichier de commandes Pour rester seul sans nécessiter (par exemple) un fichier séparé contenant un caractère nul pouvant être copié en cas de besoin. P> P> echo code> comme ceci:
^ @ code> tel qu'il apparaît), mais
echo code> puis sortira: p>
5 Réponses :
D'accord, c'était difficile, et la solution est laide, mais cela fonctionne.
Vous pouvez utiliser le fichier de commandes lui-même comme le fichier contenant le caractère null à copier. p>
Ce fichier de commandes , appelé (où la dernière ligne contient seul le caractère null em>) ajoute le caractère null à J'ai essayé plusieurs autres choses, mais c'était le seul que je pouvais trouver que cela ne supprime pas le caractère null. p> null.bat code>: p>
myfile.txt code>. p>
Recherche / v / r code> affiche toutes les lignes qui ne sont pas assorties par la regex, c'est-à-dire que le dernier, car Il n'y a pas de caractère de nouvelle ligne. P>
FindStr code> a été expédié pour la première fois avec Windows 2000, il peut ne pas être disponible sur des versions antérieures de Windows P> P>
Une alternative à la réponse acceptée qui ne nécessite pas de mettre des caractères nuls dans le fichier de commandes de lot est la suivante:
@echo off set NULL_FILE=null.txt set DEBUG_COMMANDS=write-null.dbg echo e 100 >%DEBUG_COMMANDS% echo 0 >>%DEBUG_COMMANDS% echo n %NULL_FILE% >>%DEBUG_COMMANDS% echo rbx >>%DEBUG_COMMANDS% echo 0 >>%DEBUG_COMMANDS% echo rcx >>%DEBUG_COMMANDS% echo 1 >>%DEBUG_COMMANDS% echo w >>%DEBUG_COMMANDS% echo q >>%DEBUG_COMMANDS% debug < %DEBUG_COMMANDS% >nul del %DEBUG_COMMANDS%
Voici un article qui décrit comment écrire des octets arbitraires avec un lot Fichier (recherche pour h2b.com code>). Cela résout efficacement le problème de la rédaction de données non imprimables à l'aide d'un script de lot (y compris NULL). P>
Y a-t-il une solution pour des fenêtres 64 bits?
Je n'aime pas la solution qui ne peut pas être une copie facile / pâte-d sur des fichiers texte. Quelques façons:
1) mshta fort> (peut être utilisé directement dans le fichier de lots ou à partir de la ligne de commande): p> 2) certutil strong> (nécessite un fichier temporaire) p> 3) makecab strong> Vérifiez le sous-programme ici - http: / /ss64.com/nt/ysyntax-genchr.html strong> p> p>
# 1 est une excellente solution. Sur une note connexe, remplacez > code> avec
>> code> à Ajouter i> à un fichier existant.
Créer un fichier NULL de taille
Mais c'est une réponse à une autre question. Une taille de fichier de 0 est une autre chose qu'un caractère nul dans un fichier
La question est de demander d'écrire un "caractère nul (nul) à un fichier", pas pour une taille de fichier de 0. Un caractère NUL à l'intérieur d'un fichier est Taille 1. OP ne veut pas "un fichier séparé contenant un caractère null qui peut être copié en cas de besoin. ", comme dans le cas de Genchr.cmd ou similaire .
Vous avez raison, je n'ai pas compris la bonne signification de Créer un fichier NULL de taille