Τα αρχεία δέσμης που εκτελούνται μέσα από άλλους φακέλους ενδέχεται να αποτύχουν


Συμπτώματα


Όταν εκτελείτε ένα αρχείο δέσμης από διαφορετικό φάκελο που περιέχει μη αλφαβητικούς χαρακτήρες, θα λάβετε το ακόλουθο μήνυμα σφάλματος:
Το όνομα που καθορίστηκε δεν αναγνωρίζεται ως εσωτερική ή εξωτερική εντολή, λειτουργικό πρόγραμμα ή αρχείο δέσμης.
Βήματα για την αναπαραγωγή του προβλήματος:
  1. Δημιουργήστε ένα φάκελο με το όνομα Test (2) από τον ριζικό σας κατάλογο.
  2. Δημιουργήστε ένα αρχείο δέσμης στο φάκελο Test (2) που ονομάζεται Test. bat.
  3. Εισαγάγετε τις ακόλουθες γραμμές στο Test. bat:
          echo off      pause
  4. Αποθήκευση δοκιμής. bat.
  5. Από τον ριζικό κατάλογο σε μια γραμμή εντολών, εκτελέστε το αρχείο δέσμης με την ακόλουθη γραμμή:
    \test(2)\test.bat 
Παρατηρήστε το μήνυμα σφάλματος που λάβατε:
Το όνομα που καθορίστηκε δεν αναγνωρίζεται ως εσωτερική ή εξωτερική εντολή, λειτουργικό πρόγραμμα ή αρχείο δέσμης.

Λύση


Παρόλο που το αρχείο δέσμης δεν εκτελείται από τον ριζικό κατάλογο, η εντολή θα εκτελεστεί εάν συμπεριλάβετε τη γραμμή εντολών μέσα σε εισαγωγικά. Για παράδειγμα, για την παραπάνω κατάσταση, ένας χρήστης πρέπει να εισαγάγει την ακόλουθη γραμμή σε μια γραμμή εντολών:
   "\test(2)\test.bat" 
Αυτή η εντολή θα εκτελέσει το αρχείο δέσμης κανονικά.

Κατάσταση


Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για πρόβλημα στην έκδοση 4,0 των Windows NT. Αναζητούμε αυτό το πρόβλημα και θα δημοσιεύσουμε νέες πληροφορίες εδώ στη Γνωσιακή βάση της Microsoft, καθώς είναι διαθέσιμες.