English 中文(简体)
Windows Shell Script: Can t make string substitution working in subroutine
原标题:

Greetings dear Experts!

Could you please advice me on how to cope with the problem:

@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

This code echoes on the screen instead of writing to "ExtractedLinks.txt". What is the problem here?

问题回答

I assume you mean Output.txt not ExtractedLinks.txt:

set c=!CurrentFileName:"=!
echo %c% > Output.txt

Also, unless you are doing something else in the for loop, you probably want to append instead of overwriting:

echo %c% >> Output.txt

And if you really want the filename to be ExtractedLinks.txt just change it.

echo %c% >> ExtractedLinks.txt




相关问题
Simple JAVA: Password Verifier problem

I have a simple problem that says: A password for xyz corporation is supposed to be 6 characters long and made up of a combination of letters and digits. Write a program fragment to read in a string ...

Case insensitive comparison of strings in shell script

The == operator is used to compare two strings in shell script. However, I want to compare two strings ignoring case, how can it be done? Is there any standard command for this?

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

String initialization with pair of iterators

I m trying to initialize string with iterators and something like this works: ifstream fin("tmp.txt"); istream_iterator<char> in_i(fin), eos; //here eos is 1 over the end string s(in_i, ...

break a string in parts

I have a string "pc1|pc2|pc3|" I want to get each word on different line like: pc1 pc2 pc3 I need to do this in C#... any suggestions??

Quick padding of a string in Delphi

I was trying to speed up a certain routine in an application, and my profiler, AQTime, identified one method in particular as a bottleneck. The method has been with us for years, and is part of a "...

热门标签