2011-01-25 29 views
8

Tôi có tệp hàng loạt mà tôi đang kế thừa và tôi không thể làm việc trong môi trường Windows 7 64 bit. Tập tin batch thực hiện cuộc gọi đến một tập lệnh java và chuyển hai biến trong đó. Cũ trông như thế này:Đường dẫn Tệp chương trình 32 bit Windows 7 trong tệp Hàng loạt Phát hành

C:\Progra~1\salesf~1.com\ApexDa~2.0\bin\process.bat  C:\Progra~1\*PATH*  *VARIABLE* 

Điều này đã chạy onm 32bit XP chỉ có một tệp chương trình. Tôi đã thử mọi cách tôi có thể nghĩ đến để thay đổi bản thể của con đường dẫn đến chương trình fiels x86. Tôi đã thử SET PATH, SET ExecPath,% ProgrmaFiles (x86), nhưng tất cả trở về không thể tìm thấy đường dẫn được chỉ định. Tôi chắc rằng câu trả lời rất dễ, và tôi biết có nhiều cách để làm điều này, và nó sẽ thay đổi, nhưng hiện tại, tôi cần nó để làm việc. Bất kỳ trợ giúp, nhiều đánh giá cao.

+0

Bạn có chắc là tên đường dẫn dos (/ short) có sẵn trên Windows 64 bit không? – Christian

+0

@Christian, chúng được triển khai dưới dạng liên kết cứng trong trình điều khiển hệ thống tệp. Mặc dù nó có thể bị vô hiệu hóa (và nên cho một số trường hợp), nó vẫn được kích hoạt theo mặc định. – Joey

Trả lời

27

Nếu bạn gõ

dir /x c:\ 

sau đó điều này cho thấy các thư mục liệt kê trong các định dạng 8.3. Program Files mở rộng thành PROGRA~1Program Files (x86) mở rộng thành PROGRA~2. Vì vậy, tôi nghĩ bạn cần phải thay đổi tập lệnh để sử dụng PROGRA~2

EDIT: Tôi đồng ý với Đánh dấu rằng đây không phải là lý tưởng - nó phụ thuộc vào số lượng bạn có thể thay đổi tập lệnh cũ. Trên máy Win7, bạn có thể sử dụng %ProgramFiles%%ProgramFiles(x86)% (lưu ý dấu '%').

+0

Cảm ơn bạn rất nhiều, đó là nó – KCavon

+1

bạn có thể muốn làm cho bạn mã chung chung hơn và tính toán giá trị này. ví dụ. một cái gì đó dọc theo dòng của cho% x trong ("% ProgramFiles (x86)%") làm echo% ~ fsx – John

+1

Đó là nguy hiểm. ~ 1 và ~ 2 không nhất thiết phải ánh xạ tới 'Program Files' hoặc' Program Files (x86) '. Nó có thể hoạt động trên 99% máy, nhưng từ viết tắt chỉ có nghĩa là" thư mục đầu tiên bắt đầu bằng "Progra", –

1

xuất khẩu JAVA_HOME =/cygdrive/c/Progra ~ 1/java/jdk1.7.0_40/

này đã làm việc cho tôi.

+0

Điều đó sẽ chỉ hoạt động trong môi trường Cygwin, không phải tập lệnh batch –

+0

.. đối với Batch Scripting, Sử dụng SET A = B: \ X \ y \ Z – Li3ro

Các vấn đề liên quan