फ़ोल्डर और सबफ़ोल्डर में बैच

0

सवाल

मैं कोशिश कर रहा हूँ लिखने के लिए एक बैच फ़ाइल को सॉर्ट करने के लिए एक गुच्छा के लोगों के दस्तावेजों में alphabetized फ़ोल्डर्स. मैं के साथ शुरू नीचे दिए गए कोड को बनाने के लिए फ़ोल्डर्स और विचार किया गया था करने के लिए एक फ़ोल्डर बनाने के लिए वर्णमाला के प्रत्येक अक्षर तो इसे भरने के साथ फ़ोल्डर के लिए प्रत्येक व्यक्ति के साथ एक अंतिम नाम के साथ शुरू होता है कि पत्र. नामकरण योजना के लिए माना जाता है "अंतिम नाम, प्रथम नाम -#A123" (123 बस जा रहा है एक आईडी नंबर के साथ जुड़ा हुआ नाम)

बाहर पाश ठीक काम करता है लेकिन अंदर पाश कुछ भी नहीं है सब पर, तो मैं इसकी सराहना करता हूँ, किसी भी सलाह किसी को भी है. आपको बहुत बहुत धन्यवाद.

FOR %%X IN (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) DO (
    MD C:\Users\evanm\Documents\%%X
    FOR /F "tokens=1,2,3" %%A IN (NameList.txt) DO (
        SET "newFileName=%%A, %%B - #A%%C"
        SET “n=%%A”
        SET “sortLetter=%n:~0,1%”
        IF /I str EQU %%X (
            MD C:\Users\evanm\Documents\%%X\newFileName
        )
    )
)
batch-file cmd windows
2021-11-23 01:07:35
1

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

0

सबसे पहले, आप की जरूरत है delayedexpansion.

मैं भी नहीं यकीन है कि क्या आप की कोशिश कर रहे हैं से मेल करने के लिए यहाँ IF /I str EQU %%X ( क्या है str? आप कभी नहीं बनाया चर, यहां तक कि अगर तुम किया था, तुम भूल करने के लिए इसे बनाने के लिए एक चर %str% के साथ या delayedexpansion यह हो जाएगा !str!.

वहाँ रहे हैं तो इन औंधा अल्पविराम, , ऐसा नहीं है कि, डबल उद्धरण का उपयोग करें ". पिछले MD आदेश , आप उपयोग नहीं कर रहे हैं चर आप बनाया. newFileName एक नंगे शब्द, चर होना चाहिए %newFileName% के साथ या delayedexpansionहै , जो आप की जरूरत है यहाँ, !newFileName!.

अंत में, तुम पैदा कर रहे हैं एक चर SET "newFileName=%%A, %%B - #A%%C" के साथ एक अतिरिक्त अल्पविराम, इसे हटा दें ।

एक निश्चित संस्करण के अपने खुद के कोड:

@echo off
setlocal enabledelayedexpansion
FOR %%X IN (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) DO (
    MD C:\Users\evanm\Documents\%%X
    FOR /F "tokens=1,2,3" %%A IN (NameList.txt) DO (
        SET "newFileName=%%A %%B - #A%%C"
        SET "n=%%A"
        SET "sortLetter=!n:~0,1!"
        IF /I !sortletter! EQU %%X (
            MD "C:\Users\evanm\Documents\%%X\!newFileName!"
        )
    )
)

कहा जा रहा है, मैं व्यक्तिगत रूप से यह किया है:

@echo off
setlocal enabledelayedexpansion
for /F "usebackq tokens=*" %%A IN ("NameList.txt") DO (
        set "line=%%~A"
        set "letter=!line:~0,1!"
        md "%userprofile%\Documents\!letter!\!line!">nul
)

मैं की जरूरत नहीं है करने के लिए पाश के माध्यम से प्राप्त करने के लिए वर्णमाला के अक्षरों को देखने के रूप में नाम पहले से ही इन पत्र. तो भी अगर एक उपयोगकर्ता के साथ एक उपनाम के साथ शुरू X नहीं है अपनी सूची में, यह अंततः फ़ोल्डर बनाने के लिए एक बार इस तरह के एक व्यक्ति हो जाता है के लिए जोड़ा गया है सूची.

2021-11-23 05:54:28

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

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

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

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

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