2017-03-16 8 views
-2

Je me suis inspiré des travaux de nos collègues du portailComment créer des dossiers et des fichiers à partir d'un fichier texte avec les mêmes noms à insérer avec le nom correspondant?

Have a batch create text files based on a list
Batch script to read input text file and make text file for each line of input text file

pour développer la création d'un fichier texte par exemple
"comps.txt" (comp1,comp2....
pour chaque PC un script batch lu à partir d'une liste des PC dans un fichier texte et créez un fichier texte pour chaque ligne de texte en tant que local.
Plus tard dans le code sont créés des dossiers dossiers nommés - les mêmes noms (comp1, comp2 .... à la fin nous avons des fichiers texte: comp1.txt, comp2.txt ... et les dossiers: comp1, comp2 ... . jusqu'à 400 ordinateurs.
Toute idée d'ajouter au code ou écrire un autre code de lot séparé pour se déplacer pour chaque fichier texte du dossier lui correspondant pour le fichier texte

comp1.txt->comp1 folder 
comp2.txt->comp2.txt 
.... 

Nous avons plus de 400 lignes !! Je suis très débutants pour tous les scrips travaillant très dur tous les jours et c'est ma première question.Mon code dans Windows Batch est ci-dessous

@echo off 
    setlocal 
    for /f "tokens=*" %%a in (comps.txt) do (type nul>"%%a.txt") 
    for /f "tokens=*" %%a in (comps.txt) do (
    echo This is line 1 of text>"%%a.txt" 
    ) 
    for /f %%i in (comps.txt) do mkdir %%i 
    do (
    echo "%%i.txt" 
    ) 
    endlocal 

[enter image description here]

+1

Que diriez-vous de [formatage] (http://stackoverflow.com/help/formatting) votre code correctement afin que l'on puisse le lire ?? – aschipfl

+0

Je dois trouver un moyen et lire plus comment rendre le code plus acceptable et clair- Je vais essayer –

+0

https://lookimg.com/images/2017/03/16/code.jpg –

Répondre

0

Il ne fait pas de sens pour générer des fichiers texte et puis des dossiers pour déplacer les fichiers vers. Créez les dossiers en premier lieu et créez les fichiers dans les dossiers. En utilisant un (bloc de code), une seule boucle est nécessaire.

@echo off 
setlocal 
for /f "tokens=*" %%a in (comps.txt) do (
    if not exist "%%a" mkdir "%%a" 
    echo This is line 1 of text>"%%a\%%a.txt" 
) 
endlocal 
+0

Un grand merci-travailler parfaitement avec votre aide et le code beaucoup. Cela ne concerne pas seulement le fichier txt - Pour moi, cela a un sens surtout quand vous changez l'extension de code interne de ".txt ->. Bat [echo Ceci est la ligne 1 du texte>" %% a \ %% a.txt "-> echo Ceci est la ligne 1 du texte> "%% a \ %% a.bat"] et Vous avez le nom du dossier de l'ordinateur avec le même nom de script pour les modifications ultérieures qui peuvent être données à n'importe quelle variable - Je vais voir Tommorow -Cordialement –