Saya ingin membuat beberapa file batch untuk mengotomatisasi program.
Pertanyaan saya adalah ketika saya membuat file batch, apa direktori saat ini? Apakah ini direktori tempat file berada atau direktori yang sama yang muncul pada command prompt, atau yang lainnya?
batch-file
directory
Aaron de Windt
sumber
sumber
%0
dapat memberikan nama subrutin saat ini, tetapi%~dp0
akan selalu memberikan path lengkap ke file batch yang dieksekusi..cmd
file dan menjalankannya sebagai administrator,%cd%
memberiC:\WINDOWS\system32
dan%~dp0
memberikan direktori file batch dengan trailing slash.Ini biasanya adalah direktori dari mana file batch dimulai, tetapi jika Anda mulai file batch dari jalan pintas, direktori mulai berbeda dapat diberikan. Juga, ketika Anda dalam cmd, dan direktori Anda saat ini adalah
c:\dir3
, Anda masih bisa memulai file batch menggunakanc:\dir1\dir2\batch.bat
dalam hal ini, direktori saat ini akanc:\dir3
.sumber
Dalam file batch,% cd% adalah perintah yang paling umum digunakan untuk direktori saat ini, meskipun Anda dapat mengatur variabel Anda sendiri:
Jadi katakan Anda ingin membuka Myprog.exe. Jika berada di folder yang sama, Anda akan menggunakan perintah:
Itu akan membuka Myprog dari folder saat ini.
Pilihan lainnya adalah membuat direktori di C: disebut AutomatePrograms. Kemudian, Anda mentransfer file Anda ke folder itu lalu Anda dapat membukanya menggunakan perintah berikut:
sumber
%cd%
adalah variabel, jadi menjalankan file batch dari Windows Explorer sebagai admin akan memberikanC:\WINDOWS\system32
yang hampir pasti bukan yang Anda inginkan.%~dp0
lebih konsisten.Katakanlah Anda membuka file di direktori Anda saat ini. Perintahnya adalah:
Saya harap saya menjawab pertanyaan Anda.
sumber
Ini adalah direktori tempat Anda menjalankan perintah untuk menjalankan file batch Anda.
Seperti disebutkan dalam jawaban di atas, Anda dapat menambahkan perintah di bawah ini ke skrip Anda untuk memverifikasi:
sumber
Ini adalah direktori dari mana Anda memulai file batch. Misal, jika batch Anda ada
c:\dir1\dir2
dan Anda melakukannyacd c:\dir3
, maka jalankan batch, direktori saat ini akanc:\dir3
.sumber
Hanya 2 sen saya. Perintah berikut gagal jika dipanggil dari file batch (Windows 7) ditempatkan di flashdisk:
Tapi ini berhasil:
sumber
%~dp0