Lolos “=” (tanda sama) di untuk / f


4

Saya mencoba menjalankan perintah berikut dalam "FOR / F" di shell Windows ...

wmic process where ParentProcessId=%%PID%% get ProcessId

The =antara ParentProcessId dan% PID% terus gettings mengganti dengan spasi.

Hasilnya adalah:

for /F "usebackq" %b in (wmic process where ParentProcessId %PID% get ProcessId) do (.

Bagaimana saya bisa lolos dari tanda karakter = ini?


Bagaimana maksud Anda itu 'diganti'? Anda mengetiknya, dan tanda yang sama secara ajaib berubah menjadi spasi? Apakah Anda menggunakan ini dalam file batch?
— Ƭᴇcʜιᴇ007

Letakkan 'sekelilingnya untuk / F "usebackq"% b di (' proses wmic di mana ParentProcessId =% PID% dapatkan ProcessId ') ... Contoh: IN (' WMIC Path Win32_DiskPartition Di mana "BootPartition = true Dan PrimaryPartition = true" Dapatkan DeviceID / Format: daftar ') DO
— Setekh

@ Selekh Itu salah. usebackqmembutuhkan backquotes `bukan kutipan tunggal'
— DavidPostill

Tidaaaak bukan userbackq ... ('WMIC ...')
— paham

Jawaban:


2

Mencoba:

for /F "usebackq" %b in (`wmic process where ParentProcessId^=0 get ProcessId`) do echo %b

Tanda "=" diloloskan dengan tanda "^". Juga catat bahwa wmicperintah itu sendiri dilampirkan dalam "tanda kutip kembali" sebagaimana dipanggil oleh penggunaan usebackqparameter.


2

Bagaimana saya bisa lolos dari tanda karakter = ini?

for /F "usebackq" %%b in (wmic process where ParentProcessId=%PID% get ProcessId) do (

Ada dua masalah dengan hal di atas:

  1. Saat menggunakan "usebackq"Anda harus meletakkan backquotes di sekitar perintah yang akan diproses for.

  2. Perlu ada kutipan di "sekitar whereklausa wmic.

Gunakan file batch berikut:

@echo off
setlocal 
set PID=1188
for /F "usebackq" %%b in (`wmic process where "ParentProcessId=%PID%" get ProcessId`) do (
  echo %%b
  )
endlocal

Contoh output:

F:\test>test
ProcessId
2508
10100
ECHO is off.

catatan:

  • The ECHO is off.line output karena wmicoutput baris kosong akhir.

Bacaan lebih lanjut


Itulah yang saya coba jelaskan, tetapi menulisnya jadi kacau jadi saya kira itu tidak bisa dimengerti: D
— Setekh

Mengutip tidak bekerja untuk saya, tetapi menghindari tanda sama dengan jawaban BillP3rd.
— Burkart
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.