खोज…


परिचय

JScript वास्तव में Javascript का सुपरसेट है (यह 1.8.1 संस्करण है - इसलिए कुछ नए फीचर्स उपलब्ध नहीं हैं), और उन्हें batch स्क्रिप्ट के कार्यों के विस्तार के लिए batch स्क्रिप्ट में एम्बेड किया जा सकता है। आमतौर पर, एम्बेडिंग की तकनीक बैच और JScript कोड को अलग करने के लिए JScript निर्देशों (आधिकारिक जावास्क्रिप्ट मानक का हिस्सा नहीं) का उपयोग कर रहे हैं। JScript आपको Com / ActiveX ऑब्जेक्ट्स के साथ-साथ WMI ऑब्जेक्ट्स के साथ मानक जावास्क्रिप्ट के साथ काम करने की अनुमति देता है।

एक बैच फ़ाइल में एंबेडेड JScript

यह निम्नलिखित उदाहरण उपयोगकर्ता माइकल डिलन द्वारा इस उत्तर से बनाया गया है।


निम्नलिखित स्क्रिप्ट पर विचार करें:

@set @junk=1 /*
@echo off
cscript //nologo //E:jscript %0 %*
goto :eof
*/

//JScript aka Javascript here

यह स्क्रिप्ट स्निपेट करता है:

  • उस cscript कमांड को निष्पादित cscript जो स्वयं प्रदान की गई सभी दलीलों के साथ कहता है।

  • @set @junk=1 बाद के भाग के रूप में टिप्पणी की गई है ( /* और */ वैध JScript टिप्पणी),

  • JScript उनकी अनदेखी करेगा।

  • नोट: हमें @set @junk=1 भाग की आवश्यकता है क्योंकि बैच फ़ाइल कमांड के रूप में पहचान नहीं है /* , लेकिन एक set स्टेटमेंट एक वर्कअराउंड होगा। JScript एक टिप्पणी के रूप में /* पहचान करेगा इसलिए अन्य batch फ़ाइल JScript इंजन द्वारा निष्पादित नहीं की जाएगी।


आप अपने JScript को */ बाद जोड़ सकते हैं और अपनी बैच फाइल स्क्रिप्टिंग को शुरू कर सकते हैं!

अस्थायी फ़ाइलों के साथ JScript चलाएँ

जैसा कि यहां बताया गया है , एक अन्य स्क्रिप्ट को चलाने के लिए पुरानी स्कूल पद्धति अस्थायी फ़ाइलों का उपयोग करके है। सरल इसे एक फ़ाइल में echo है और फिर इसे चलाता है (और इसे वैकल्पिक रूप से हटा दें)।


यहाँ मूल अवधारणा है:

@echo off
echo //A JS Comment > TempJS.js
echo //Add your code>>TempJS.js

cscript //nologo //e:cscript.exe TempJS.js

del /f /s /q TempJS.js

लेकिन इसके लिए अपेक्षाकृत बड़े JScript बनाने के लिए बहुत सारे echo स्टेटमेंट्स की आवश्यकता होगी। यहाँ Aacini द्वारा एक बेहतर विधि है।

@echo off
setlocal

rem Get the number of the "<resource>" line
for /F "delims=:" %%a in ('findstr /N "<resource>" "%~F0"') do set "start=%%a"

rem Skip such number of lines and show the rest of this file
(for /F "usebackq skip=%start% delims=" %%a in ("%~F0") do echo %%a) > TempJS.js

cscript //nologo //e:cscript.txt TempJS.js
del /f /s /q TempJS.js

goto :EOF

<resource>
JScript
JScript
JScript


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow