पार्स करने के लिए कैसे का उत्पादन git स्थिति और इसे भेजा करने के लिए एक अन्य कार्यक्रम के साथ एक बैच फ़ाइल में Windows के तहत? [बंद]

0

सवाल

मैं पर कब्जा करना चाहते हैं परिणाम के git status -s जो होगा उत्पादन कुछ इस तरह है:

 M /path/to/modified/file.py
 M /path/to/another/modified/file2.py

पहले 3 अक्षर हैं हटाया जा करने के लिए. मैं चाहता हूँ यह है:

/path/to/modified/file.py, /path/to/another/modified/file2.py

(प्रत्येक पंक्ति के git status -sपट्टी , पहले 3 अक्षर और गोंद के साथ उन्हें एक अल्पविराम पर एक एकल लाइन).

मैं फिर भेज देंगे कि स्ट्रिंग के लिए एक और कार्यक्रम (एक तर्क के रूप में) पर काम करेंगे जो उन फ़ाइलों.

यह संभव है कि ऐसा करने के लिए, के साथ एक बैच (.bat) फ़ाइल Windows के तहत?

मैंने देखा है कि आप कर सकते हैं एक स्ट्रिंग की तरह कुछ के साथ set str=%str:~3,10% लेकिन मैं नहीं पाया था कि कैसे पर कब्जा करने के लिए उत्पादन की git और द्वारा विभाजित लाइनों और प्रत्येक पंक्ति की लंबाई...

batch-file git
2021-11-23 01:09:49
1

सबसे अच्छा जवाब

1

मैं नहीं है git अपने सिस्टम पर है और इसलिए यह untested है, परिणाम के आधार पर बस के उदाहरण में आप अपने प्रश्न में है.

के for पाश जाएगा प्रत्येक आवंटित करने के लिए परिणामों की एक metavariable %%i इस मामले में, पहले हम के पहले दो अक्षर M और फिर संलग्न प्रत्येक परिणाम के लिए एक ही चर. हम तो बस पट्टी बंद के पहले दो अक्षर होने के नाते एक ,

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('git status -s') do (
   set "tmp=%%i"
   set "tmp=!tmp:~2!"
   set "result=!result!,!tmp!"
)
echo %result:~2%

नोट

for केवल आवंटित परिणाम अगर वे कर रहे हैं से stdout और नहीं stderr, तो इस मामले में यह आवंटित करेगा त्रुटि संदेश के लिए चर.

2021-11-23 09:10:42

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में