BAT εντολή για την εισαγωγή ενός char. σε ένα όνομα αρχείου

Θέμα

Έχω ένα πρόβλημα, ένα που η λύση του έχω περάσει πριν από μερικά χρόνια, αλλά - δυστυχώς - η αποθήκευση μου κατέρρευσε πρόσφατα και έχασα το αρχείο δέσμης!

Ξεκινάμε με αυτό το άβολο όνομα αρχείου:

rank (όλα) _so2_1hr_conc_A_2p5h10.dat

Το ακόλουθο βοηθητικό πρόγραμμα ΒΔΤ διαγράφει έξυπνα τα πάντα μπροστά από το «Α» (23 πρώτοι χαρακτήρες):

 @echo off για %% i in (* .dat) κάνει (ορίστε fName = %% i) και καλέστε: μετονομασία goto: eof: μετονομασία :: Καλλιεργεί τους πρώτους 23 χαρακτήρες του fName ('rank (all) _so2_1hr_conc_' ren% fName%% fName: ~ 23% goto: eof 

Μεγάλος! Αυτό αποδίδει:

A_2p5h10.dat

Τώρα πρέπει να το μετατρέψω σε:

A_2p5h100.dat

Σημείωση '... h10' πρέπει να είναι '... h100'. Σημειώστε ότι, ενώ σε αυτό το παράδειγμα, το τμήμα που προηγείται του '.' είναι 'A_2p5h10', θα μπορούσε να είναι οποιαδήποτε συμβολοσειρά 8 χαρακτήρων (οπότε θα χρειαστούμε ένα μπαλαντέρ ή κάτι τέτοιο).

Μπορείτε να προτείνετε μια ρουτίνα που θα προσθέσει το '0' στο μέσο του ονόματος του αρχείου (πριν από το '.'); Υπάρχουν εκατοντάδες ονόματα αρχείων στον κατάλογο που πρέπει να έχουν αυτή τη μετατροπή.

Όπως θυμάμαι, η κρίσιμη εντολή (πιστεύω ότι χρησιμοποίησε το REN) που το χρησιμοποιούσαμε ήταν εξαιρετικά απλή (περιείχε ένα περισσότερο ποσοστό, όπως θυμάμαι).

Λύση

Μπορείτε να χρησιμοποιήσετε αυτό το σενάριο:

 @echo off για %% i in (* .dat) κάνουμε (set fName = %% i) & κλήση: μετονομασία goto: eof: μετονομασία :: Μετονομάστε το αρχείο απορρίπτοντας τους πρώτους 23 χαρακτήρες και τις τελευταίες 7 και προσθέτοντας H100.plt στο τέλος ren% fName%% fName: ~ 23, -7% H100.plt goto: eof 

Σημείωση

Χάρη στον Tommy για αυτή την άκρη στο φόρουμ.

Προηγούμενο Άρθρο Επόμενο Άρθρο

Οι Καλύτερες Συμβουλές