Anda harus memaafkan saya (atau tidak) pengetahuan saya tentang pemrograman batch cukup sederhana.
Saya telah membuat beberapa file batch untuk membantu meluncurkan game, mengubah variabel sistem (untuk memindahkan game yang disimpan di dalam folder game) pada dasarnya membuatnya portabel.
Ini bekerja ketika berada di dalam folder tanpa spasi di jalan. Namun ketika dimasukkan mengatakan, Program Files (x86) itu jatuh.
Berikut adalah kode yang saya gunakan untuk mendapatkan jalur induk relatif.
for %%B in (%~dp0\.) do set APPPATH=%%~dpB
Ini adalah bagian penting, semua yang lain dalam skrip bergantung pada ini.
Inilah sisanya:
: Get path of parent folder (relative)
for %%B in (%~dp0\.) do set APPPATH=%%~dpB
set APPPATH2=%APPPATH%Microsoft Games\Freelancer\
: Modify path of Freelancer in the registry to point to the portable install
REG ADD "HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft Games\Freelancer\1.0" /v AppPath /t REG_SZ /d "%APPPATH2%\" /f
: Set path for Saved Games
Set USERPROFILE=%APPPATH%
: Start Freelancer up
START "" "%APPPATH%Microsoft Games\Freelancer\EXE\Freelancer.exe"
Mungkinkah kode ini dimodifikasi agar dapat menangani spasi dalam skrip? Saya telah berhasil mengatur template saya sehingga tidak mempengaruhi hal lain, tetapi bagian dari jalur ini adalah tempat ia jatuh.
Saya menggunakan variabel APPPATH untuk menampilkan path lengkap relatif ke mana pun file berada di komputer.
Terima kasih untuk bantuannya!
::
titik dua Anda tetapi tidak sesuai dengan yang Anda pikirkan. Anda sebenarnya telah membuat label. Jadi Anda bisa membuat goto ke label yang Anda buat! Untuk membuktikannya, coba jalankan file batch ini pastebin.com/raw.php?i=cJ0P7JSCJawaban:
Sudahlah orang-orang, jawabannya tampak sederhana, saya kadang-kadang memukul kepala sendiri.
Untuk:
(merangkum jalan dengan kutipan)
Masalah terpecahkan (Gah!)
sumber