menemukan direktori dan membukanya di Windows dengan cmd


3

apakah mungkin ada cara untuk menemukan direktori file ("example.txt") dan kemudian jika menemukan file buka direktori (seperti "c: \ example \ sub \") pada cmd (atau vb)? tentu saja mencari di semua partisi bukan hanya "C: \".


Bagian pertama dari pertanyaan Anda jelas dan saya pikir saya punya solusi untuk itu di bawah ini. Saya tidak yakin apa yang Anda maksud di bagian kedua - "lalu jika menemukan file buka direktori"? Bisakah Anda mengulanginya?
— Hack-R

Saya hanya bermaksud bahwa ketika file ditemukan, saya ingin folder tempat file itu berada terbuka.
— powerofwheels

Oh ok, begitu. Terimakasih atas klarifikasinya.
— Hack-R

Jawaban:


4

Jalankan perintah berikut dari root masing-masing drive Anda.

for /f "delims=" %a in ('dir /s /b example.txt') do explorer %~dpa

Perintah di atas akan menemukan semua file bernama "example.txt" dan kemudian menjalankan explorer di direktori di mana mereka berada.

Jika Anda ingin menggunakan file batch maka masing-masing % perlu diganti oleh %%:

for /f "delims=" %%a in ('dir /s /b example.txt') do explorer %%~dpa

Untuk mendapatkan daftar drive:

for /f "skip=1 delims=" %a in ('wmic logicaldisk get caption') do @echo %a

Dalam file batch:

for /f "skip=1 delims=" %%a in ('wmic logicaldisk get caption') do @echo %%a

Menyatukan semuanya dalam file batch:

for /f "skip=1 delims=" %%a in ('wmic logicaldisk get caption') do (
    cd %%a
    cd \
    for /f "delims=" %%b in ('dir /s /b example.txt') do explorer %%~dpb
)

Untuk berhenti setelah pertandingan pertama:

for /f "skip=1 delims=" %%a in ('wmic logicaldisk get caption') do (
    cd %%a
    cd \
    for /f "delims=" %%b in ('dir /s /b example.txt') do (
        explorer %%~dpb
        exit
    )
)

Ini bekerja terima kasih, bagaimana cara membuatnya berfungsi dalam file batch? Saya mencoba tetapi hanya berfungsi di jendela command prompt, juga bagaimana cara membuatnya mencari setiap drive?
— powerofwheels

meskipun kode dalam beberapa kasus membuka satu folder kembali folder di mana file berada: jika saya mencari "example.txt" yang ada di folder3 ("D: \ folder1 \ folder2 \ folder3"), dalam beberapa case membuka folder2, tetapi dalam kasus lain ia berfungsi, bagaimana ini bisa diselesaikan?
— powerofwheels

(C: \ Windows \ System32 \ config \ systemprofile \ AppData \ Local \ Microsoft \ Portable Devices \ wpdlog02.sqm) - (C: \ Users \ Matt \ Desktop \ WALLS \ wall1.png) - (C: \ Program Files ( x86) \ Microsoft XNA \ XNA Game Studio \ v4.0 \ Redist \ DX Redist \ APR2007_d3dx9_33_x86.rar) (C: \ ProgramData \ Adobe \ Adobe PDF \ Extras \ MAGAZINE Ad 2006 JPN.joboptions), saya mencoba dengan jalur tersebut untuk menguji kode dan mereka tidak akan berfungsi.
— powerofwheels

apakah Anda mengganti example.txt dengan path lengkap atau hanya nama file? Beberapa nama file memiliki spasi. Lalu, Anda mungkin perlu "di sekitar mereka misalnya dir / s / b" contoh dengan space.txt "
— DavidPostill

@ powerofwheels menggantikan example.txt dengan wpdlog02.sqm bekerja seperti yang diharapkan untuk saya. membuka explorer di direktori `C: \ Windows \ System32 \ config \ systemprofile \ AppData \ Local \ Microsoft \ Portable Devices` dan mengakhiri file batch.
— DavidPostill

0

Ini akan menemukan semua file dengan ekstensi yang diberikan di direktori kerja saat ini dan semua subdirektori:

dir *.cpp *.h *.java /b/s

Ini akan melakukannya untuk file yang dimulai dengan "pyth"

dir pyth*

Anda dapat memperluas contoh ini.

Untuk membuka lokasi file (mis. Folder) Anda bisa cd ke hasil dan ketik juga

explorer .

atau

start .

Jika Anda tidak ingin menggunakannya cd maka Anda dapat melewati lokasi file dari dir ke explorer atau start perintah.

Untuk menyesuaikan ini menjadi for-loop untuk setiap drive yang terpasang lihat pos Stackoverflow ini:

https://stackoverflow.com/questions/5709189/batch-script-to-find-drive-letter-of-a-mounted-device


Ini menemukan file tetapi belum membuka direktori di mana file itu berada.
— powerofwheels

@powerofwheels Terima kasih atas klarifikasi; Saya telah memperbarui solusinya.
— Hack-R

"Jika Anda tidak ingin menggunakan cd maka Anda dapat meneruskan lokasi file dari dir ke explorer atau memulai perintah." Bagaimana cara saya menyampaikan informasi ini?
— powerofwheels

Jika saya ingin menemukan file "example.txt" di drive D:, dan kemudian meneruskan informasi ini ke explorer; bagaimana kodenya untuk file batch? Juga, ada cara untuk membuatnya mencari setiap drive?
— powerofwheels

@ powerofwheels Ini akan memberi Anda apa yang perlu Anda lakukan untuk loop dalam file batch untuk setiap drive: stackoverflow.com/questions/5709189/…
— Hack-R
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.