विंडोज पर पॉवर्सशेल


0

मैं कमांड प्रॉम्प्ट से एक बैट फाइल निष्पादित करता हूं जो इसे 2 पूरी तरह से योग्य नामों (यह पीजीपी के लिए है) से गुजरता है और यह ठीक चलता है।

जब मैं पॉवर्सशेल से उसी बैट फाइल को निष्पादित करता हूं तो इसे उसी नाम से पास किया जाता है, यह आउटपुट चलाता है और उत्पादन करता है, लेकिन एक संदेश देता है "सिस्टम निर्दिष्ट पथ को नहीं ढूंढ सकता है"।

Cmd में:

mybatfile.bat e:\dirname\filename.ext  e:\dirname\filename.ext

PS में:

./mybatfile e:\dirname\filename.ext  e:\dirname\filename.ext

चमगादड़ फ़ाइल इस तरह है:

@echo off
c:
cd users\username
set inputfile=%1
set outputfile=%2

pgp --encrypt %inputfile% --recipient keyid --output %outputfile% --overwrite remove

निकालें @echo offऔर देखें कि क्या आपको कोई सुराग देता है।
DavidPostill

जब आप इन आदेशों को चलाते हैं तो आप फ़ाइल सिस्टम में कहां हैं? बैच फ़ाइल कहाँ है? क्या बैच फ़ाइल आपके ऊपर है PATH?
बेन एन

जवाबों:


0

मुझे लगता है कि आपकी गलती एक निरपेक्ष रास्ता नहीं है, इसलिए यदि आपका वर्तमान फ़ोल्डर कहीं सी में गहरा है: तो अपना कोड वहां से सीडी के लिए प्रयास करें फ़ोल्डर उपयोगकर्ता \ उपयोगकर्ता नाम जो वहां मौजूद नहीं है।
बीटीडब्ल्यू आपको हमेशा रिक्त स्थान को दुगुना करना चाहिए जिसमें संभवतः रिक्त स्थान या अन्य मार्मिक छंद हों।

@echo off
cd /D "C:\users\username"
set "inputfile=%~1"
set "outputfile=%~2"

pgp --encrypt "%inputfile%" --recipient keyid --output "%outputfile%" --overwrite remove
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.