parsifal Δημοσ. 26 Φεβρουαρίου 2011 Δημοσ. 26 Φεβρουαρίου 2011 Κάπου πρέπει να έχεις υποφακέλους ή αρχεία που περιέχουν χαρακτήρα κενού στο όνομά τους. Δε σκέφτηκα αυτήν την περίπτωση. Άλλαξε το περιεχόμενο του batch file στο ακόλουθο: > for /f "delims=" %%a in ('dir /a:-d/b/s *.txt') do ren "%%~pna.txt" "%%~na.php"
Bspus Δημοσ. 1 Μαρτίου 2011 Δημοσ. 1 Μαρτίου 2011 Κάπου πρέπει να έχεις υποφακέλους ή αρχεία που περιέχουν χαρακτήρα κενού στο όνομά τους. Δε σκέφτηκα αυτήν την περίπτωση. Άλλαξε το περιεχόμενο του batch file στο ακόλουθο: > for /f "delims=" %%a in ('dir /a:-d/b/s *.txt') do ren "%%~pna.txt" "%%~na.php" Μπορεις να μου εξηγησεις σε παρακαλω πως ακριβως λειτουργει το %%~pna και το %%~na ?
parsifal Δημοσ. 2 Μαρτίου 2011 Δημοσ. 2 Μαρτίου 2011 Ο modifier ~pn πηγαίνει στη μεταβλητή %%a που είναι το πλήρες path κάθε αρχείου .txt και απομονώνει το πλήρες path + το basename του αρχείου. Ο modifier ~n απομονώνει μόνο το basename. Γιατί όλη αυτή η ιστορία; Γιατί η εντολή rename στο 2ο όρισμά της δεν υποστηρίζει πλήρη pathnames και πετάει μήνυμα λάθους. Με λίγα λόγια, με τη rename δε μπορείς ταυτόχρονα και να μετονομάσεις αρχείο και να το μετακινήσεις σε άλλον folder από αυτόν που βρίσκεται ήδη.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.