Saya mencoba menulis skrip kumpulan sederhana yang menyalin beberapa file dari %userprofile%\Documents
direktori. Saya menguji skrip di komputer saya, tetapi setelah beberapa kegagalan saya menyadari bahwa saya memindahkan data pengguna saya ke partisi yang terpisah . Oleh karena itu, %userprofile%\Documents
adalah kosong , dan (jelas) tidak ada yang disalin.
Saya sudah mencoba variabel lingkungan lain seperti %homedrive%
dan %homepath%
, tetapi mereka masih menunjuk pada standarC:\...
Apakah ada cara untuk mengetahui drive aktual yang digunakan untuk data pengguna?
Saya menggunakan Windows 10.
Terima kasih!
EDIT
Seperti yang ditunjukkan oleh Ƭᴇcʜιᴇ007, saya tidak memindahkan data pengguna ke partisi lain, tetapi saya baru saja memindahkan folder "utama" (Dokumen, Video, ...) ke beberapa folder yang sesuai di partisi lain: klik kanan pada (mis. ) Dokumen, Properti, Path.
Bagaimana saya bisa mengetahui jalur folder Dokumen yang telah dipindahkan dengan cara ini?
sumber
Jawaban:
Sayangnya, tidak ada variabel lingkungan sederhana yang dapat Anda periksa dari skrip batch jika Anda mengarahkan ini dari jalur default relatif ke profil Anda. Anda dapat melihat daftar lengkap variabel lingkungan (termasuk beberapa yang tidak berdokumen) di sini:
Satu hal yang perlu diingat adalah pengalihan folder bahkan memungkinkan Anda untuk memindahkan ini ke jaringan berbagi. Tidak harus ada "drive" yang dapat Anda gunakan semua; mungkin hanya jalur UNC.
Berita baiknya adalah informasi yang Anda inginkan tersedia di registri di lokasi berikut:
Ada sekumpulan folder yang dapat Anda gunakan di
User Shell Folders
kunci itu, tetapi untuk membaca folder My Documents di sini menggunakan Windows Batch terlihat seperti ini:Di komputer saya ini menghasilkan output berikut, yang mungkin lebih atau kurang bermanfaat bagi Anda tergantung pada apa yang Anda butuhkan dan seberapa baik Anda dengan skrip Windows Batch:
Anda juga dapat mencoba vbscript:
atau Powershell:
Ini pada akhirnya mungkin tersedia melalui bash pada Windows juga (sungguh!), Tapi saya belum melihat bagaimana melakukannya dengan cara yang secara konsisten akurat.
sumber
Dengan asumsi Anda memiliki akses tulis ke folder saat ini atau lokasi yang diketahui masih ada di komputer ... Anda dapat menggunakan PowerShell!
The
Environment.GetFolderPath
Fungsi bisa mendapatkan sistem file path dari lokasi terkenal , termasuk folder Dokumen. Perintah PowerShell ini mencetak jalur Dokumen:Itu dapat ditulis ke file dengan
Out-File
cmdlet. Operator pengalihan>
tidak benar-benar bekerja di sini karena menghasilkan file teks Unicode dengan BOM, yang sulit untuk bekerja dengan prosesor batch.File itu dapat dibaca menjadi variabel batch dengan
set /p
. Menyatukan semuanya, kami mendapatkan fragmen skrip batch ini:Jalur ke folder Dokumen pengguna sekarang dapat dinyatakan sebagai
%DOCSPATH%
.sumber
Saya punya jawaban yang bisa diandalkan. Kombinasi PowerShell yang mengembalikan jawaban ke dos
sumber
$
dalam nama variabel CMD. Tapi tahukah Anda bahwa itu penggunaan yang tidak umum, bukan?Yah itu cukup sederhana :)
Lokasi folder desktop tercantum di sini:
atau bahkan lebih simpel di PowerShell
sumber