जब मैं सही पर क्लिक करें script.ps1
फ़ाइल और "PowerShell के साथ चलाएँ" का चयन करें, एक PS कंसोल विंडो आती है, और मेरी स्क्रिप्ट किसी कारण से नहीं चल सकती। इसलिए मुझे एक त्रुटि मिलती है, लेकिन मैं वास्तव में नहीं कर सकता पढ़ना संदेश क्योंकि त्रुटि आने के ठीक बाद विंडो बंद हो जाती है।
इसलिए मैं एक नया PowerShell कंसोल विंडो खोलना चाहूंगा, स्क्रिप्ट फ़ाइल पर नेविगेट कर सकता हूं, इसे चला सकता हूं, और उम्मीद है कि इस बार बेवकूफ त्रुटि संदेश पढ़ने की लक्जरी मिल जाएगी। तो मैं कंसोल विंडो से स्क्रिप्ट कैसे चलाऊं?
- ओएस संस्करण: विंडोज 8.0
- पुनश्च संस्करण: 3.0
बस टाइपिंग में script.ps1
या सुझाव दिया ".\script.ps1"
बस कुछ नहीं करता है।
तो मैं अनुमान लगा रहा हूँ कि इसे किसी प्रकार की आज्ञा प्राप्त करने की आवश्यकता है? स्क्रिप्ट वास्तव में सरल है, इसे नए फ़ोल्डर बनाने और उन्हें पढ़ने के द्वारा नाम देना चाहिए Export.txt
फ़ाइल।
$folder="C:\test";
$txtFile="C:\test\Export.txt";
get-content $txtFile | %{
if($_ -match "^(\d+) (\w+)$")
{
mkdir "$folder\$_";
}
}
ध्यान दें! कृपया ध्यान दें कि उपरोक्त त्रुटि संदेश (स्क्रीनशॉट) वास्तविक स्क्रिप्ट को चलाने से संबंधित नहीं है। जिस तरह से मैं स्क्रिप्ट चला सकता हूं, वह एक्सप्लोरर के अंदर स्क्रिप्ट फ़ाइल पर राइट क्लिक करके और "रन विद पॉवरशेल" का चयन करके और मुझे इसे चलाने से प्राप्त होने वाली त्रुटि एक अलग है, न कि आप जो यहां ऊपर देखते हैं।
अद्यतन करें! मेरी दूसरी टिप्पणी नीचे देखें। जैसे रास्तों के लिए C:\test\script.ps1
यह कर देता है के साथ काम .\script.ps1
। मुझे अभी भी PS स्क्रिप्ट फ़ाइल को चलाने के लिए मदद चाहिए जब स्क्रिप्ट फ़ाइल के लिए पथ में like, Ä और Å जैसे कायरता पत्र शामिल हैं।
अद्यतन -।, Ä और Å PS को तोड़ता है
जैसा कि मैंने कहा कि मुझे लगता है कि इन पात्रों के साथ PS में मुद्दे हैं। इसलिए मैंने शुरू में सोचा कि मैं इसे सही नहीं कर रहा हूं। तो यहाँ मैं आपको इसे प्रदर्शित करने के लिए दो उदाहरण दूंगा।
Ö, Å और Å के बिना एक PS स्क्रिप्ट चलाना
यह मेरी पटकथा है।
$folder="C:\test";
$txtFile="C:\test\Export.txt";
get-content $txtFile | %{
if($_ -match "^(\d+) (\w+)$")
{
mkdir "$folder\$_";
}
}
ये उस स्थान की सामग्री हैं जहाँ मैं अभी इसका परीक्षण कर रहा हूँ।
PS C:\test> dir
Directory: C:\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2014-02-28 09:12 3648 Export.txt
-a--- 2014-02-28 10:49 162 script.ps1
PS C:\test>
यह मैं PS कंसोल विंडो से स्क्रिप्ट चला रहा हूं।
PS C:\test> .\script
Directory: C:\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2014-02-28 10:55 001 Harberget
d---- 2014-02-28 10:55 004 Badstuknappen
d---- 2014-02-28 10:55 005 Aspberget
d---- 2014-02-28 10:55 006 Knipen
d---- 2014-02-28 10:55 011 Juberget
d---- 2014-02-28 10:55 012 Rangen
d---- 2014-02-28 10:55 014 Grasbricka
d---- 2014-02-28 10:55 018 Letafors
d---- 2014-02-28 10:55 020 Rya
d---- 2014-02-28 10:55 022 Bograngen
d---- 2014-02-28 10:55 023 Dalby
d---- 2014-02-28 10:55 029 Transtrand
d---- 2014-02-28 10:55 032 Viggen
d---- 2014-02-28 10:55 033 Nyskoga
d---- 2014-02-28 10:55 044 Vitsand
d---- 2014-02-28 10:55 059 Lekvattnet
d---- 2014-02-28 10:55 064 Gustavsfors
d---- 2014-02-28 10:55 066 Tyfors
d---- 2014-02-28 10:55 067 Mitandersfors
d---- 2014-02-28 10:55 070 Bada
d---- 2014-02-28 10:55 073 Geijersholm
d---- 2014-02-28 10:55 074 Liljendal
d---- 2014-02-28 10:55 077 Bogen
d---- 2014-02-28 10:55 079 Grinnemo
d---- 2014-02-28 10:55 080 Lysvik
d---- 2014-02-28 10:55 082 Uddeholm
d---- 2014-02-28 10:55 085 Vitklinten
d---- 2014-02-28 10:55 086 Gravendal
d---- 2014-02-28 10:55 087 Magnor
d---- 2014-02-28 10:55 089 Bortan
d---- 2014-02-28 10:55 090 Fredros
d---- 2014-02-28 10:55 095 Busken
d---- 2014-02-28 10:55 101 Charlottenberg
d---- 2014-02-28 10:55 102 Allstakan
d---- 2014-02-28 10:55 104 Rotten
d---- 2014-02-28 10:55 105 Sunne
d---- 2014-02-28 10:55 106 Annefors
d---- 2014-02-28 10:55 107 Munkfors
d---- 2014-02-28 10:55 108 Sunnemo
d---- 2014-02-28 10:55 109 Nordmarker
d---- 2014-02-28 10:55 111 Silvergruva
d---- 2014-02-28 10:55 113 Skillingemark
d---- 2014-02-28 10:55 115 Gunnarsskog
d---- 2014-02-28 10:55 116 Mangskog
d---- 2014-02-28 10:55 118 Rottneros
d---- 2014-02-28 10:55 123 Persberget
d---- 2014-02-28 10:55 124 Hellefors
d---- 2014-02-28 10:55 125 Bottnar
d---- 2014-02-28 10:55 128 Ottebol
d---- 2014-02-28 10:55 129 Rackstad
d---- 2014-02-28 10:55 130 Gullesbyn
d---- 2014-02-28 10:55 131 Emtervik
d---- 2014-02-28 10:55 135 Brattfors
d---- 2014-02-28 10:55 136 Filipstad
d---- 2014-02-28 10:55 137 Saxhyttan
d---- 2014-02-28 10:55 138 Orrkullen
d---- 2014-02-28 10:55 142 Arvika
d---- 2014-02-28 10:55 143 Edane
d---- 2014-02-28 10:55 144 Brunsberg
d---- 2014-02-28 10:55 148 Nyed
d---- 2014-02-28 10:55 149 Hedenskog
d---- 2014-02-28 10:55 150 Kroppa
d---- 2014-02-28 10:55 151 Loka
d---- 2014-02-28 10:55 152 Dalen
d---- 2014-02-28 10:55 154 Karlanda
d---- 2014-02-28 10:55 156 Glava
d---- 2014-02-28 10:55 158 Boda
d---- 2014-02-28 10:55 159 Frykerud
d---- 2014-02-28 10:55 160 Frykestad
d---- 2014-02-28 10:55 161 Forshaga
d---- 2014-02-28 10:55 164 Storfors
d---- 2014-02-28 10:55 167 Holmedal
d---- 2014-02-28 10:55 169 Lenungen
d---- 2014-02-28 10:55 172 Vermskog
d---- 2014-02-28 10:55 173 Edsvalla
d---- 2014-02-28 10:55 174 Grava
d---- 2014-02-28 10:55 175 Alster
d---- 2014-02-28 10:55 176 Glumserud
d---- 2014-02-28 10:55 177 Kungskog
d---- 2014-02-28 10:55 178 Lundsberg
d---- 2014-02-28 10:55 180 Mona
d---- 2014-02-28 10:55 181 Foxen
d---- 2014-02-28 10:55 182 Silbodal
d---- 2014-02-28 10:55 183 Sannaneknatten
d---- 2014-02-28 10:55 186 Borgvik
d---- 2014-02-28 10:55 187 Grums
d---- 2014-02-28 10:55 188 Eriksberg
d---- 2014-02-28 10:55 189 Karlstad
d---- 2014-02-28 10:55 193 Alkvettern
d---- 2014-02-28 10:55 194 Trankil
d---- 2014-02-28 10:55 195 Blomskog
d---- 2014-02-28 10:55 196 Sillerud
d---- 2014-02-28 10:55 198 Gillberga
d---- 2014-02-28 10:55 199 Segmon
d---- 2014-02-28 10:55 200 Ed
d---- 2014-02-28 10:55 204 Presterud
d---- 2014-02-28 10:55 205 Kristinehamn
d---- 2014-02-28 10:55 207 Salholmen
d---- 2014-02-28 10:55 208 Gustavsfors
d---- 2014-02-28 10:55 211 Kila
d---- 2014-02-28 10:55 212 Hammar
d---- 2014-02-28 10:55 215 Skallholmen
d---- 2014-02-28 10:55 217 Posseberg
d---- 2014-02-28 10:55 219 Degerfors
d---- 2014-02-28 10:55 220 Torrskog
d---- 2014-02-28 10:55 221 Suled
d---- 2014-02-28 10:55 222 Svanskog
d---- 2014-02-28 10:55 223 Tveta
d---- 2014-02-28 10:55 224 Seffle
d---- 2014-02-28 10:55 226 Kilsbyn
d---- 2014-02-28 10:55 227 Visnum
d---- 2014-02-28 10:55 228 Nysund
d---- 2014-02-28 10:55 233 Rudskoga
d---- 2014-02-28 10:55 234 Grytfors
d---- 2014-02-28 10:55 237 Millesvik
d---- 2014-02-28 10:55 240 Rosenborg
जाहिर है कि स्क्रिप्ट चल रही है। हालाँकि, यह केवल बनाने के लिए कुल 245 फ़ोल्डर में से 116 फ़ोल्डर बनाता है। जो स्क्रिप्ट के साथ ही करना पड़ सकता है। यह लंघन लाइनों जैसे है 002 Långflon
तथा 003 Källegrafsrös
क्योंकि उनमें they, Ä और / या Å अक्षर होते हैं। कोई विचार? लेकिन मुद्दा यह है कि स्क्रिप्ट उम्मीद के मुताबिक PS कंसोल विंडो में चल रही है।
उसी PS स्क्रिप्ट को with, with और with के साथ चलाना
मैंने जानबूझकर फ़ोल्डर नाम में एक n में फेंक दिया है। इसलिए test
का नाम बदल दिया गया है täst
। मैंने इन परिवर्तनों के साथ स्क्रिप्ट फ़ाइल को अपडेट किया है, और यह अब मेरी स्क्रिप्ट है।
$folder="C:\täst";
$txtFile="C:\täst\Export.txt";
get-content $txtFile | %{
if($_ -match "^(\d+) (\w+)$")
{
mkdir "$folder\$_";
}
}
अभी परीक्षण फ़ोल्डर में कोई फ़ोल्डर नहीं हैं। मैंने परीक्षण को फिर से चलाने के लिए उन्हें हटा दिया है।
PS C:\täst> dir
Directory: C:\täst
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 2014-02-28 09:12 3648 Export.txt
-a--- 2014-02-28 11:04 164 script.ps1
PS C:\täst>
और फिर, यह मैं अद्यतन स्क्रिप्ट फ़ाइल चला रहा हूं।
PS C:\täst> .\script.ps1
get-content : Cannot find path 'C:\täst\Export.txt' because it does not exist.
At C:\täst\script.ps1:4 char:1
+ get-content $txtFile | %{
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\täst\Export.txt:String) [Get-Content], ItemNotFoun
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
PS C:\täst>
पथ 'C: \ täst \ Export.txt' नहीं मिल सकता क्योंकि यह मौजूद नहीं है।
जैसा कि आप देख सकते हैं, यह एक रास्ता खोजने की कोशिश कर रहा है जो वहां नहीं है। बिंदु साबित हुआ। वर्ण!, Ä और PS PS को तोड़ें! पर क्यों? मैं क्या कर रहा हूँ जो इतना गलत है? ...
.\script.ps1
इसे चलाएंगे? लेकिन कहता है type ".\script.ps1"
और इसका मतलब है कि उद्धरण चिह्नों को शामिल करना, नहीं?
\\FILESERVER\path\path\path
के रूप में घुड़सवार Z:
चलाना। इसमें पत्र शामिल है ए और यह PS के काम न करने के लिए पर्याप्त कारण है? यह इन पत्रों को पसंद नहीं करता है। यदि नाम Å, doesn't और letters को शामिल करने के लिए सेट किया गया है तो उपरोक्त स्क्रिप्ट नए फ़ोल्डर बनाना भी नहीं चाहती है।
.\filename.ps1
जब तक पथ में फंकी कैरेक्टर शामिल नहीं होते हैं ए ।
.\script.ps1
। यह सिर्फ आपके आदेश को प्रतिध्वनित करेगा।