batch file बैच और वीबीएस संकर में चर का उपयोग करना



batch-file vbscript (1)

यह धागा कोड बैच संकर के रूप में बताता है जिसमें कई स्क्रिप्टिंग भाषाओं, जैसे बैच, वीबीएस, जेस्क्रिप्ट, पॉवरशेल आदि के संयोजन शामिल हो सकते हैं। सवाल यह है कि क्या बैच संकर "फ़ॉरेस्ट" के रूप में "विदेशी" भाषा ब्लॉकों पर विचार करता है, जिसका अर्थ है इन ब्लॉकों के लिए कॉल में नियमित और विलंबित एक्सटेंशन बैच वैरिएबल जैसी तर्क शामिल हो सकते हैं, जिन्हें सामान्य तर्क जैसे% 1,% 2, आदि के रूप में संदर्भित किया जाता है?

नीचे दिए गए उदाहरण इस फ़ाइल को अनझिप कोड का उपयोग करते समय फ़ाइल को अनजिप करने के कार्य में दृष्टिकोण को दर्शाता है, लेकिन यह Win10 64-bit में एक त्रुटि देता है - क्यों? ध्यान दें, लिंक्ड फाइल अनझिप कोड एक त्रुटि भी देता है जब वह 10 जीतता है, लेकिन एक अलग एक

<!-- : Begin batch script
@echo off
set "dir=C:\Temp\" & set "file=%USERPROFILE%\Downloads\archive.zip\"
cscript //nologo "%~f0?.wsf" "%dir%" "%file%"
exit /b

----- Begin wsf script --->
<job><script language="VBScript">
 set fso = CreateObject("Scripting.FileSystemObject")
 If NOT fso.FolderExists(%1) Then
 fso.CreateFolder(%1)
 End If
 set objShell = CreateObject("Shell.Application")
 set FilesInZip = objShell.NameSpace(%2).items
 objShell.NameSpace(%1).CopyHere(FilesInZip)
 set fso = Nothing
 set objShell = Nothing
</script></job>

:: Error
..\test.bat?.wsf(9, 8) Microsoft VBScript compilation error: Invalid character

Vbscript में पहला तर्क है: wscript.Arguments(0)

दूसरा तर्क है: wscript.Arguments(1)

तो, आपको इसे इस तरह लिखना चाहिए: ``

----- Begin wsf script --->
<job><script language="VBScript">
 set fso = CreateObject("Scripting.FileSystemObject")
 If NOT fso.FolderExists(wscript.Arguments(0)) Then
 fso.CreateFolder(wscript.Arguments(0))
 End If
 set objShell = CreateObject("Shell.Application")
 set FilesInZip = objShell.NameSpace(wscript.Arguments(1)).items
 objShell.NameSpace(wscript.Arguments(0)).CopyHere(FilesInZip)
 set fso = Nothing
 set objShell = Nothing
</script></job>




hybrid