Προς το περιεχόμενο

Batch/script


DooKoo

Προτεινόμενες αναρτήσεις

Δημοσ.

Κάπου πρέπει να έχεις υποφακέλους ή αρχεία που περιέχουν χαρακτήρα κενού στο όνομά τους. Δε σκέφτηκα αυτήν την περίπτωση. Άλλαξε το περιεχόμενο του batch file στο ακόλουθο:

 

>
for /f "delims=" %%a in ('dir /a:-d/b/s *.txt') do ren "%%~pna.txt" "%%~na.php"

Δημοσ.

Κάπου πρέπει να έχεις υποφακέλους ή αρχεία που περιέχουν χαρακτήρα κενού στο όνομά τους. Δε σκέφτηκα αυτήν την περίπτωση. Άλλαξε το περιεχόμενο του batch file στο ακόλουθο:

 

>
for /f "delims=" %%a in ('dir /a:-d/b/s *.txt') do ren "%%~pna.txt" "%%~na.php"

 

 

Μπορεις να μου εξηγησεις σε παρακαλω πως ακριβως λειτουργει το %%~pna και το %%~na ?

Δημοσ.

Ο modifier ~pn πηγαίνει στη μεταβλητή %%a που είναι το πλήρες path κάθε αρχείου .txt και απομονώνει το πλήρες path + το basename του αρχείου. Ο modifier ~n απομονώνει μόνο το basename.

 

Γιατί όλη αυτή η ιστορία; Γιατί η εντολή rename στο 2ο όρισμά της δεν υποστηρίζει πλήρη pathnames και πετάει μήνυμα λάθους. Με λίγα λόγια, με τη rename δε μπορείς ταυτόχρονα και να μετονομάσεις αρχείο και να το μετακινήσεις σε άλλον folder από αυτόν που βρίσκεται ήδη.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...