【发布时间】:2009-11-10 18:02:28
【问题描述】:
尊敬的专家您好!
您能否建议我如何处理这个问题:
@echo off
cls
setlocal enabledelayedexpansion
path=%CD%;%path%
set NumberOfPages=553
rem set /A MaxFileIndex=%Counter% - 1
set MaxFileIndex=1
del Output.txt
for /l %%i in (0,1,%MaxFileIndex%) do call :GenerateFileList %%i
goto :eof
::::::::::::::::::::::::::
:GenerateFileList
::::::::::::::::::::::::::
setlocal enabledelayedexpansion
set CurrentFileName="File(%1).txt"
echo !CurrentFileName:"=! > Output.txt
goto :eof
::::::::::::::::::::::::::
:eof
::::::::::::::::::::::::::
endlocal
此代码在屏幕上回显,而不是写入“ExtractedLinks.txt”。这里有什么问题?
【问题讨论】:
-
问题在于 Windows CMD 语言可能是有史以来最糟糕的脚本语言。
-
@Joe:不,不是。有人不知道如何使用它是这里的问题。 @Andrey:您为什么希望它写入“ExtractedLinks.txt”?根据您发布的内容,您没有告诉它做任何此类事情。相反,试着解释你希望完成什么;你只提供了人们想要帮助你所需信息的 10%。
-
@ken,是的。人们可以知道如何使用它,并且很好地使用它,但是生成的代码会很丑陋,难以阅读,而且往往效率低下。难以阅读和丑陋,因为 1) 语法,语法中不必要的字符,例如变量的双 %。 2)缺乏编程功能使得人们不得不做一些变通方法来产生更多不必要的代码。效率低下,因为没有足够的编程控制。
-
ghostdog:它有自己的怪癖,但每种语言也有。这个恰好比许多其他的要多。尽管如此,如果您知道自己在做什么并且相当精通,那么阅读代码仍然会告诉您它的作用,无论它看起来多么丑陋。
标签: windows string cmd substitution subroutine