विंडोज कमांड लाइन के माध्यम से टेक्स्ट फाइल की सभी लाइनों को एक लाइन में मिलाएं


3

मैंने एक कमांड लाइन स्क्रिप्ट लिखी है जो उन फ़ाइलों की सूची बनाती है जिन्हें मैं कम्प्रेस, डिलीट या ईमेल जैसी चीजें करना चाहता हूं। सूची निम्न प्रारूप में होगी:

7z-Compression-List.txt:
========================

file1
file2
file3
etc...

संपीड़न के लिए, मैं सूची में सभी लाइनों को एक पंक्ति में जोड़ना चाहता हूं। इस तरह:

file1, file2, file3, आदि

ताकि मैं एक ही समय में सभी फाइलों को 7z कमांड लाइन ऐप में फीड कर सकूं।

किसी को पता होगा कि मैं यह कैसे कर सकता हूं? शायद किसी प्रकार के पाश के लिए?

जवाबों:


4

मैंने स्टैक ओवरफ्लो में यहां एक और सवाल का जवाब ढूंढ लिया

@ECHO OFF
setlocal
(SET file-list=)
FOR /f "delims=" %%x IN (7z-Compression-List.txt) DO (
CALL SET file-list=%%file-list%%, %%x
)
SET file-list=%file-list:~1%
ECHO file-list=%file-list%

इसने खूबसूरती से काम किया। यह मागू के उत्तर की एक संशोधित प्रति है , इसलिए यदि आप इस उत्तर को पसंद करते हैं, तो मूल लेखक को उभारने के लिए स्वतंत्र महसूस करें।


आपकी स्क्रिप्ट लाइन की शुरुआत में एक स्थान छोड़ती है। इसे ठीक करने के लिए ~ 1 को ~ 2 से बदलें।
नेटवॉर्स्ट्रेशन

धन्यवाद, आमिर। जैसे ही मुझे बदलाव का परीक्षण करने का मौका मिलेगा, मैं उत्तर को अपडेट कर दूंगा।
thebunnyrules 19

0

इस समुदाय के आधार पर विकि :

@echo off
for /f "tokens=* delims=" %%a in ('type 7z-Compression-List.txt') do (
<nul set /p Test=%%a, 
)

हालांकि यह लाइन के अंत में एक अतिरिक्त "," छोड़ देता है।


हाय आमिर, जवाब के लिए धन्यवाद, अंत में अल्पविराम मेरे लिए काम नहीं करता है लेकिन चीजों को करने के वैकल्पिक तरीकों को जानना हमेशा अच्छा होता है।
thebunnyrules
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.