में टेस्ट-पथ व्यवहार मैं वीडियो फ़ाइलों को कनवर्ट करने के लिए पावरहेल में एक स्क्रिप्ट लिखने की कोशिश कर रहा हूं।पावरहेल
जिस तरह से मैं इसका उपयोग करना चाहता हूं वह वीडियो फ़ाइलों से भरा कुछ फ़ोल्डर में जाना और इसे चलाने के लिए है। यह एक रूपांतरण प्रोग्राम का उपयोग करता है जिसे "कमांड लाइन मोड" (हैंडब्रैक नामित) में चलाया जा सकता है और फ़ाइल एक्सटेंशन से पहले कनवर्ट की गई फ़ाइलों को "-android" से जोड़ता है। उदाहरण के लिए, यदि मेरे पास फ़ोल्डर में video1.avi नाम की एक फ़ाइल है, तो स्क्रिप्ट चलाने के बाद फ़ोल्डर में 2 फाइलें हैं: video1.avi और video1-android.avi
कारण मैं ऐसा करना चाहता हूं कि मैं जांच सकता हूं कि, प्रत्येक वीडियो फ़ाइल के लिए, इसमें एक परिवर्तित संस्करण है (साथ ही एंड्रॉइड नाम पर जोड़ा गया है)। और यदि ऐसा है, तो उस फ़ाइल के लिए रूपांतरण छोड़ दें।
और यह वह जगह है जहां मैं दोगुना हो रहा हूं। समस्या टेस्ट-पथ का व्यवहार है (cmdlet मैं परीक्षण करने के लिए उपयोग कर रहा हूं यदि कोई फ़ाइल मौजूद है)।
क्या होता है, अगर वीडियो फ़ाइल में "असामान्य" नाम होता है (उदाहरण के लिए मेरे मामले में यह वीडियो [लंबा] .avi) टेस्ट-पथ हमेशा गलत होता है यदि आप यह जांचने का प्रयास करते हैं कि वह फ़ाइल मौजूद है या नहीं।
आप इस परीक्षण करने के लिए के लिए एक आसान तरीका है उदाहरण यह करने के लिए के लिए है:
¬epad test[x].txt
: एक खाली फ़ोल्डर में
जाओ, के साथ एक फ़ाइल बनाने के लिए रन नोटपैड "[" अपने नाम में
फ़ाइल
तो ऐसा करने में सहेजें
Get-ChildItem | ForEach-Object {Test-Path $_.FullName}
यह करता है सच नहीं आओ! यह सही होना चाहिए? वैसे यह नहीं है कि फ़ाइल में "[" इसके नाम पर है (मैंने किसी अन्य विशेष पात्रों की जांच नहीं की है)
मुझे एहसास हुआ है कि यदि आप "[" और "]" से बचते हैं तो यह
काम करता हैTest-Path 'test`[x`].txt'
सत्य लौटाता है।
मैं इस मुद्दे के आसपास कैसे जा सकता हूं? मैं सक्षम होना चाहता हूं: फ़ाइल का बेसनाम दिया गया है, इसे "-android.avi" संलग्न करें और जांचें कि उस नाम वाली फ़ाइल मौजूद है या नहीं।
धन्यवाद, रुई
धन्यवाद, यही वही था जो मुझे चाहिए था – Rui