Mengapa FIND pada Windows 7 memberikan kesalahan "Akses Ditolak"? [Tutup]


10

Saya memiliki akun administrator di mesin Windows 7 x64. Ini bukan akun administrator, akun itu hanya anggota grup administrator.

Instalasi adalah default. Ketika pengguna membuka prompt perintah itu berakhir di direktori% HOMEPATH% pengguna di mana Anda akan menemukan berbagai direktori seperti folder Documents. Jika pengguna menggunakan perintah FIND (windows) berikut, kesalahan "Akses Ditolak" terjadi:

FIND /I "My String" C:\Users\Rann\Documents
Access denied - C:\USERS\RANN\DOCUMENTS

Menggunakan runas atau mengklik kanan pada prompt perintah untuk menjalankannya sebagai administrator tidak mengubah perilaku ini; cmd.exe tingkat administrator masih memberi saya kesalahan yang sama. Mengubah jalur ke direktori lain memberikan kesalahan yang sama.

Pertanyaan saya adalah: Bagaimana seseorang seharusnya menggunakan perintah FIND (dan mungkin lainnya)? Hak apa yang dibutuhkan?


Bisakah pertanyaan ini dipindahkan ke superuser? Ini satu-satunya kecocokan yang relevan saat mencari masalah ini, dan layak mendapatkan jawaban singkat.
not2savvy

Jawaban:


13

Anda mencoba mengeksekusi find pada direktori. Ini hanya berfungsi pada file. Coba ini:

FIND /I "My String" C:\Users\Rann\Documents\*

Baik! Jadi, Anda harus tahu sebelumnya di folder apa file tersebut berada untuk berhasil menggunakan perintah Find untuk menemukan string teks yang Anda cari. Itu tidak mengerti rekursi. Itu kehilangan kemampuan itu di suatu tempat, entah bagaimana, di sepanjang jalan, selama "pengembangan". Untuk alasan ini, Anda mungkin juga cdmasuk ke direktori di mana file tersebut dan masalah find /i "my string" *yang akan mencari semua file dalam folder itu untuk "string saya".
Samir

4

Itu benar, tampaknya Find tidak lagi berulang lagi. Tapi hei, jangan khawatir, kita bisa menggunakan sedikit bantuan scripting di sini. Ini adalah salah satu yang saya coba dan berhasil:

for /R %G in (*) do (find "String_I_am_Looking_For" %G)

Ini akan mencari semua sub-folder.

Ini dapat menghasilkan beberapa jalur output. Jadi mungkin lebih mudah untuk mengarahkan output ke file:

untuk / R% G di (*) do (temukan "String_I_am_Looking_For"% G) >> output.txt

Dan kemudian cari string pencarian dalam file ini (Anda dapat menggunakan inspeksi visual atau Ctrl + F untuk menemukan di sini).


Agak canggung untuk menemukan kecocokan sebenarnya di antara semua sampah yang dihasilkan oleh perintah 'find', tetapi ini memang trik untuk pencarian aneh!
John Rix

1
Saya telah mengedit perintah untuk mengirim output ke file teks - mungkin lebih mudah dengan cara ini menggunakan output yang dihasilkan.
shivesh suman

3

Ini tidak benar. FIND digunakan untuk mencari semua subdirektori, tetapi tidak lagi 'bisa' karena keamanan Win 7. Anda harus memasang sistem file OFFLINE untuk menggunakan FIND dengan benar.


Anda dapat menambahkan Windows Vista ke daftar versi Windows yang tidak lagi memiliki perintah Temukan yang memahami rekursi. Saya menjalankan Vista Ultimate, x64 saat ini dan saya melihat masalah yang sama.
Samir

3
mungkin, gunakan findstr sebagai gantinya
aeroson

@aeroson: Itulah jawabannya - Apakah Anda akan mempostingnya?
Pieter Geerkens

@PieterGeerkens Saya tahu ini bekerja untuk saya, tetapi tidak tahu mengapa, jangan ragu untuk mempostingnya.
aeroson

-2

Ini Babar Di Sini, saya membebankan biaya untuk ini tetapi sekarang gratis untuk Reps.

Biarkan saya memberi tahu Anda Bagaimana Anda memotong Akses File atau Folder Ditolak melalui cmd:

Tujuan: Anda harus mengetahui Nama Folder dan Drive tempat Anda ingin mengakses.

Jika Anda menerapkan ini: Katakanlah Folder Anda ada di Drive-D dan Nama itu babar.

C: \ users \ system32> cd / dd: tekan enter

D:> untuk% g di (babar) do (find / n / i "Nama Folder:" "% g") tekan enter

D:> ACCESS DENIED -File Tidak ditemukan

:: #####################################

Ini akan terjadi jika Anda mencoba perintah di atas dalam CMD.EXE

Sekarang Perhatikan bagaimana saya akan membuat Anda memotong file kesalahan ACCESS DENIED.

C: \ users \ system32> cd / dd:

D:> untuk / r% g di (babar) do (find / n / i "Nama Folder:% g") tekan enter

D:> (find / n / i "Nama Folder: D: \ babar")

dan tekan "tombol ctrl C" untuk membatalkan dan keluar dari shell CMD

Saya harap ini cukup untuk memahami berapa banyak situs yang tidak menunjukkan kesalahan selama penjelasan konten.

Terima kasih.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.