batch-file
बैच फ़ाइलें और Powershell संकर
खोज…
अस्थायी फ़ाइलों के साथ पॉवर्सशेल चलाएँ
इसका उल्लेख अन्य संकर विषयों में बार-बार किया गया है। पुराने स्कूल, लेकिन पॉवर्स को चलाने की आसान विधि है:
-
echo
Powershell स्क्रिप्ट को एक अस्थायी स्क्रिप्ट में सम्मिलित करता है - अस्थायी स्क्रिप्ट निष्पादित करें
- वैकल्पिक रूप से अस्थायी स्क्रिप्ट को हटा दें
यह एक नमूना लिपि है।
@echo off
echo powershell-command>Temp.ps1
echo another line>>Temp.ps1
rem echo the script into a temporary file
powershell -File Temp.ps1
rem execute the temporary script
del Temp.ps1
rem Optionally remove the temporary script
विधि ऊपर की टन की आवश्यकता है 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) > Temp.ps1
powershell -File Temp.ps1
del /f /s /q Temp.ps1
goto :EOF
<resource>
PS
Powershell script
1-लाइन पॉवर्सशेल कमांड निष्पादित करने के लिए पॉवर्सहेल कमांड का उपयोग करें
POWERSHELL
कमांड का उपयोग करके, हम किसी भी अस्थायी फ़ाइल के बिना, बैच स्क्रिप्ट से सीधे 1-लाइन कमांड निष्पादित कर सकते हैं।
यहाँ वाक्य विन्यास है।
powershell.exe -Command <yourPowershellCommandHere>
आप वास्तविक परिणाम को बेहतर बनाने के लिए -Nologo
जैसे अन्य झंडे भी शामिल करना चाह सकते हैं।
अस्थायी फ़ाइलें बिना टावर्स / बैच हाइब्रिड
यह स्टैकओवरफ़्लो के उपयोगकर्ता रोज़ो द्वारा प्रस्तावित दृष्टिकोण है जो कमांड लाइन के तर्कों को भी संभाल सकता है:
<# : batch portion
@echo off & setlocal
(for %%I in ("%~f0";%*) do @echo(%%~I) | ^
powershell -noprofile "$argv = $input | ?{$_}; iex (${%~f0} | out-string)"
goto :EOF
: end batch / begin powershell #>
"Result:"
$argv | %{ "`$argv[{0}]: $_" -f $i++ }
इस तरह कहा जाता है:
psbatch.bat arg1 "यह arg2 है" arg3
उत्पादन करेंगे:
Result:
$argv[0]: C:\Users\rojo\Desktop\test.bat
$argv[1]: arg1
$argv[2]: This is arg2
$argv[3]: arg3
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow