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

Batch file με ελληνικό pathname


spzafeir

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

Δημοσ.

Έχω ελληνικά Windows XP Home και θέλω να φτιάξω ένα

batch για να σβήνω αυτόματα κάποια αρχεία.

 

Βλέπω όμως ότι κολλάει όταν στο path υπάρχει folder

με ελληνικούς χαρακτήρες:

 

cls

@ECHO ON

 

c:

 

cd\

 

cd Documents and Settings

 

cd spzaf

 

cd Τα έγγραφά μου

 

Το συγκεκριμένο κολλάει στην τελευταία γραμμή..

 

Πως μπορώ να το ξεπεράσω αυτό?

Δημοσ.

Άλλαξε ΟΛΕΣ τις cd με την παρακάτω:

cd /d "C:\Documents and settings\spzaf\Τα έγγραφά μου"

 

Αλλά δεν νομίζω ότι το πρόβλημα είναι τα ελληνικά, θα έπρεπε να δουλεύει... Μήπως το Τ από "Τα έγγραφά μου" είναι στα αγγλικά; Μήπως τυχόν έχεις αγγλικά Windows με ελληνικό MUI;

  • 2 εβδομάδες αργότερα...
Δημοσ.

Στα XP για να λειτουργήσει ένα batch file είτε με ελληνικούς, είτε με αγγλικούς

χαρακτήρες, όταν το όνομα του φακέλου είναι μεγάλο και με κενά θέλει μετα τους πρώτους 6 χαρακτήρες το σύμβολο ~ και έναν αύξοντα αριθμό ανάλογα

με το πόσοι φάκελοι ξεκινάνε με τα ίδια αρχικά.

π.χ. C:\Dοcuments and Settings γίνετε C:\Docume~1

 

Δέν ξέρω εάν σε βοηθάει καθολου αυτό, αλλα κάνε 1 προσπάθεια.

Δημοσ.
Έχω ελληνικά Windows XP Home και θέλω να φτιάξω ένα

batch για να σβήνω αυτόματα κάποια αρχεία.

Βλέπω όμως ότι κολλάει όταν στο path υπάρχει folder

με ελληνικούς χαρακτήρες:

Ναι αν δουλεύεις και σώζεις το batch μέσω Notepad. Είναι θέμα μετατροπής του ANSI. Παίζει ρόλο η codepage που χρησιμοποιείται από το Notepad για τα ελληνικά.

 

Επεξεργάσου το batch μέσω WordPad αλλά προσοχή να το αποθηκεύσεις σαν txt

 

Εχω το ίδιο πρόβλημα και δεν έχω βρει ακόμη ποιό codepage χρησιμοποιείται από το Notepad άρα δεν βρίσκω πως μπορώ να το αλλάξω.

Αν το βρει κανείς ας μας πει. (δεν είναι μέσω του πίνακα ελέγχου και των ρυθμίσεων γλώσσας πάντως αυτό είναι σίγουρο.)

 

Υ.Γ φίλε Vasilisxd δεν ισχύει αυτό που λές. Απλά τα μεγαλα ονόματα μπορούν να εμφανιστούν με τον παλιο 8.3 συμβολισμό του DOS για συμβατάτητα με παλαιά προγράμματα, χρησιμοποιόντας το ~ και ένα αριθμό μετά τον 6ο χαρακτήρα.

Δημοσ.

> Επεξεργάσου το batch μέσω WordPad αλλά προσοχή να το αποθηκεύσεις σαν txt

 

> Εχω το ίδιο πρόβλημα και δεν έχω βρει ακόμη ποιό codepage χρησιμοποιείται από το Notepad άρα δεν βρίσκω πως μπορώ να το αλλάξω.

 

Δίκιο έχεις, αυτό είναι το πιο πιθανό που μπορεί να πήγε στραβά.

 

Όλα τα προγράμματα των Windows δουλεύουν με Windows-1253.

Το DOS καθώς και το edit του DOS δουλεύουν σε κωδικοσελίδα 737.

 

Επομένως για να επεξεργαστείς ένα batch file,

1) Είτε δουλεύεις με κάποιον editor που υποστηρίζει 737 (phpedit, akelpad, word με τσεκαρισμένη την επιλογή "επιβεβαίωση μετατροπής κατά το άνοιγμα", visual studio)

2) Είτε δουλεύεις με το edit του DOS

3) Είτε δουλεύεις με το σημειωματάριο με τη γραμματοσειρά Terminal, όπου βλέπεις σωστά ελληνικά αλλά δεν μπορείς να γράψεις.

Δημοσ.

Άσχετο, αλλα προγραμματιστές και ακόμα μπλέκετε με word, wordpad, notepad, edit.com και λοιπά θηρία;

 

http://www.ultraedit.com/ ναι, δεν ειναι δωρεάν, αλλα ειναι Ο καλύτερος.

και μια επιλογή για τους ιδεολόγους της νομιμότητας http://www.pspad.com/

 

----------

win=1253, dos=737

μεσα απο το dos αν δωσεις ....[edited] CHCP 1253 [/edited]

πριν τις αλλες εντολες (δηλ πριν απο το edit, ή πριν την εκτελεση του bat), θα παιζεις με την 1253.

προσωρινά βεβαια, οσο διαρκει το συγκεκριμενο console session.

 

----------

Αυτο βεβαια δεν χρειάζεται να το κανεις, αν εχεις εναν win editor που να διαβαζει και να γραφει σωστα την 737.

 

Στις εφαρμογες win μπορεί να δεις στην επιλογη για fonts ή codepage την "OEM". επελεξέ αυτην για να δεις σωστα την 737

 

----------------------

Δημοσ.

μεσα απο το dos αν δωσεις CP 1253

Το DOS των XP δεν δέχεται Cοde page CP=xxx. Αν έχεις διαφορετική άποψη φίλε random πές μας πώς. Δώσε ένα παράδειγμα γιατί εγώ έχοντας στο Σημειωματάριο ένα mybatch.cmd με μία και μοναδική γραμμή @echo αβγδ όταν το τρέχω σε ένα cmd.exe παράθυρο μου δείνει άέήϊ και όχι αβγδ :cry:

(επειδή εχω κάποια σχέση με προγραμματισμό γιʼαυτό την ψάχνω.)

 

Σʼευχαριστώ για τα links στα editors θα προτιμήσω το pspad σαν ιδεολόγος :) αν δεν βρώ λύση μέσω κωδικοσελίδας.

Δημοσ.

Ευχαριστώ φίλε random.

Δείχνει να αλλάζει η κωδικοσελίδα τουλάχιστον στη γραμμή που δίνει το μύνημα ότι άλλαξε (┼Ίί±ήⁿ≥ Ά∙ϊώΆΎ≤ίΈ▀ϊά: 1253) αλλά το output της echo αβγδ παραμένει άέήϊ ανεξάρτητα απο την κωδικοσελίδα.

μάλλον θα παω για pspad.

Ευχαριστώ και πάλι.

Δημοσ.

Εγω χρησιμοποιω textpad ως αντικαταστατη του notepad.

Δεν ειναι freeware αλλα nagware. Δηλαδη δουλευει κανονικα για παντα απλως καθε φορα που ξεκιναει σου βγαζει ενα splash screen μεχρι να το αγορασεις.

 

Ειναι ταυτοχρονα και ενα λιτο IDE (κανει για java, c++ και δεν θυμαμαι τι αλλο) αν και φυσικα υπαρχουν πολυ καλυτερα free IDE για προγραμματισμο.

 

Για το συγκεκριμενο προβλημα με τους ελληνικους χαρακτηρες, εχει επιλογη στο save και σαν dos. Το δοκιμασα με το echo "αβγδ" και δουλεψε

Δημοσ.

Ευχαριστώ Bspus αλλά μάλλον τελικά δεν θα το χρειαστώ.

 

Τo πρόβλημα λύθηκε με τον παρακάτω τρόπο:

 

Δεξί κλικ στο πάνω μέρος του παράθυρου του COMMAND και στις Ιδιότητες πάω και διαλέγω γραμματοσειρά Lucida Console δηλαδή TrueType font. (προεπιλογή είναι το raster font) Πατώντας ΟΚ έχω τη δυνατότητα να αποθηκεύσω τις ρυθμίσεις για όλα τα μελλοντικά Command παράθυρα. Αυτό και έκανα.

έτσι απο δώ και μπρος βάζοντας στην αρχή του batch την "CHCP 1253" και στο τέλος του batch επαναφέροντας την 737 με "CHCP 737" όλα δουλεύουν μια χαρά άψογα.

 

@echo off

chcp 1253

echo αβγδ

dir "C:\Documents and Settings\gr8styl\Τα έγγραφά μου"

chcp 737

Τα εισαγωγικά για τα κενά στο όνομα φίλε spzafeir

Ευχαριστώ και πάλι random για το CHCP. :-D

 

ΥΓ. και είναι και πολύ πιο όμορφη η γραμματοσειρά Lucida Console.

Δημοσ.

Ωραίο αυτό με τη Lucida Console. Έτσι δέχεται και utf-7 και utf-8 και iso-8859-7 κωδικοσελίδες, π.χ. chcp 65001. Το είχα κάνει κι εγώ κατά λάθος πριν από κανά χρόνο και δεχόταν unicode χαρακτήρες στην κονσόλα, αλλά τώρα που ξαναδοκίμαζα δεν τους δεχόταν και δεν ήξερα γιατί.

gr8styl άξιος!

Δημοσ.

nai, sorry, το ειχα ξεχασει οτι χρειαζονται και οι lucida. κανω τη ρυθμιση αμεσως μετα το install xp, και τωρα μου φαινεται πια σαν default :)

Δημοσ.

Κάνε την αλλαγή, διάλεξε "Αποθήκευση και σε άλλα παράθυρα με τον ίδιο τίτλο" και μετά πήγαινε στο

HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe

δες τις αλλαγές και μετά κάν'τες στο HKEY_CURRENT_USER\Console. Αυτό είναι που ισχύει γενικά, όχι το HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe

 

Μπορείς να το κάνεις και στο HKEY_USERS\.DEFAULT αν θες για preinstallation environment.

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

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

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