SET
Set-Variable
. के लिए एक उपनाम है , लेकिन पॉवर्सशेल चर पर्यावरण चर नहीं हैं। पर्यावरण चर सेट करने के लिए, आपको $env:
. का उपयोग करना होगा दायरा। कोशिश करें:
$env:PGPASSWORD = 'myPwd';
यह भी देखें यहां पर्यावरण चर पर अधिक जानकारी के लिए।
साथ ही, मुझे नहीं लगता कि आप पावरशेल में कमांड लाइन पर कच्चे इनपुट डालने से दूर हो सकते हैं। मुझे लगता है कि यह चीजों को अलग-अलग आदेशों के रूप में मानेगा, लेकिन मैं गलत हो सकता हूं।
आप कमांड स्विच का भी उपयोग करना चाह सकते हैं (-c
) और पॉवरशेल स्टॉप पार्सिंग सिंबल (--%
.) ) जब आप पॉवरशेल को अपनी कमांड स्ट्रिंग को पार्स करने से रोकने के लिए psql को कॉल करते हैं:
.\psql --% -U postgres -w MyDatabase -c "copy {'SELECT * FROM table';} TO 'C:\Users\e\Desktop\test1.csv' CSV DELIMITER ',';"
या यहाँ-स्ट्रिंग्स के साथ एक वेरिएबल पर कमांड सेट करें और पाइप करें कि psql:
$query = @'
copy {'SELECT * FROM table';} TO 'C:\Users\e\Desktop\test1.csv' CSV DELIMITER ',';
'@
$query | .\psql -U postgres -w MyDatabase
या निष्पादन योग्य कॉल करने के लगभग एक दर्जन अन्य तरीके।