मैंने देखा कि फ़ोल्डर नामों में कोई रिक्त स्थान होने पर मेरी बैच स्क्रिप्ट ठीक से काम नहीं करती है:
C: \ ProgramFiles (x86) \ abc \ def \ example.bat → सभी कार्य सही तरीके से किए गए हैं
C: \ Program Files (x86) \ abc \ def \ example.bat → गलत व्यवहार
क्या परिवर्तन होने चाहिए?
@echo off
for %%F in ("%~dp0..\*.wgm") do (
set "file=%%~nxF"
move "%%F" "%cd%" >nul
goto :next
)
:next
if not exist %cd%\output md output
if not exist %cd%\temp md temp
echo File "%file%" was moved from "%~dp0..\" to "%cd%" && move "*.wgm" "%cd%\"
for /d %%i in ("%cd%\") do ( cd "%%i" ) && for %%i in (*.wgm) do tool.exe *.wgm "%%~ni".dat "643054977005802"
move "%cd%\*.wgm" temp\
move "%cd%\*.dat" output\
if exist %~dp0..\*.wgm call example.bat
if not exist %~dp0..\*.wgm goto :last
:last
for /r %%x in (*.dat) do ren "%%x" *.wgm
move "%cd%\temp\*.wgm" %~dp0..\ && rmdir /s /q "%cd%\temp"
exit
क्या आपने पथ को घेरने की कोशिश की है & amp; कॉल करते समय डबल कोट्स में फाइल करें? "C: \ Program Files (x86) \ abc \ def \ example.bat"
—
jason.kaisersmith
आपकी स्क्रिप्ट बहुत जटिल है सिर्फ निरीक्षण से विश्लेषण करने के लिए। आपको अपने प्रश्न में त्रुटि संदेशों को कॉपी करना होगा, और साथ चलना होगा
—
AFH
echo on, ताकि यह स्पष्ट किया जा सके कि कौन सी कमांड त्रुटियों को उत्पन्न कर रही हैं। यह भी स्पष्ट नहीं है कि कौन से चर निर्धारित किए जाते हैं ...\example.bat।
चूंकि स्क्रिप्ट में कई कमांड शामिल हैं, इसलिए आपको उन लोगों को इंगित करना चाहिए जिन्हें सही तरीके से निष्पादित नहीं किया गया है, उनके इच्छित व्यवहार की व्याख्या करते हुए और इसे देखे गए व्यवहार से तुलना करते हैं।
—
simlev
आल थे
—
LotPings
if exist resp if not exist पंक्तियों का एक रास्ता नहीं है। पहले दो में `% सीडी%` निकालें - वे बहुत कम हैं।