Output filenames with for loop in a batch file
I want to rename files with a batch command and capture the original and renamed files in a list in order to provide a cross reference (doing a DIR /OS >file
both before and after the batch file is not rigourous enough).
The file below carries out the renaming fine, but my understanding is not good enough to get the output bit working (if it even is possible). Also, the output in the example below is different depending on whether output is to file or screen.
I want to be able to understand more of this:
@echo off
set /a c=%1
setLocal ENABLEDELAYEDEXPANSION
For %%G in (*.tif) do (
echo %%G >infile.txt
ren %%G abc.!c!.tif
set /a c=c+1
echo %%G >outfile.txt
)
endlocal
windows cmd.exe
add a comment |
I want to rename files with a batch command and capture the original and renamed files in a list in order to provide a cross reference (doing a DIR /OS >file
both before and after the batch file is not rigourous enough).
The file below carries out the renaming fine, but my understanding is not good enough to get the output bit working (if it even is possible). Also, the output in the example below is different depending on whether output is to file or screen.
I want to be able to understand more of this:
@echo off
set /a c=%1
setLocal ENABLEDELAYEDEXPANSION
For %%G in (*.tif) do (
echo %%G >infile.txt
ren %%G abc.!c!.tif
set /a c=c+1
echo %%G >outfile.txt
)
endlocal
windows cmd.exe
add a comment |
I want to rename files with a batch command and capture the original and renamed files in a list in order to provide a cross reference (doing a DIR /OS >file
both before and after the batch file is not rigourous enough).
The file below carries out the renaming fine, but my understanding is not good enough to get the output bit working (if it even is possible). Also, the output in the example below is different depending on whether output is to file or screen.
I want to be able to understand more of this:
@echo off
set /a c=%1
setLocal ENABLEDELAYEDEXPANSION
For %%G in (*.tif) do (
echo %%G >infile.txt
ren %%G abc.!c!.tif
set /a c=c+1
echo %%G >outfile.txt
)
endlocal
windows cmd.exe
I want to rename files with a batch command and capture the original and renamed files in a list in order to provide a cross reference (doing a DIR /OS >file
both before and after the batch file is not rigourous enough).
The file below carries out the renaming fine, but my understanding is not good enough to get the output bit working (if it even is possible). Also, the output in the example below is different depending on whether output is to file or screen.
I want to be able to understand more of this:
@echo off
set /a c=%1
setLocal ENABLEDELAYEDEXPANSION
For %%G in (*.tif) do (
echo %%G >infile.txt
ren %%G abc.!c!.tif
set /a c=c+1
echo %%G >outfile.txt
)
endlocal
windows cmd.exe
windows cmd.exe
edited Apr 2 '14 at 13:53
Der Hochstapler
68.3k50230286
68.3k50230286
asked Apr 25 '12 at 14:00
user130218user130218
11
11
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
After sleeping over it I found the answer to the problem. I only have to write the name of the file that is about to be renamed as I 'know' what I am about to call it! Obvious in the end.
set /a c=%1
set param=%2
setLocal ENABLEDELAYEDEXPANSION
FOR %%i in (*.tif) do (
echo %%i >>in.txt
ren %%i %param%!c!.tif
echo %param%!c!.tif >>out.txt
set /a c=c+1
)
endlocal
All I need to do now is put in a test to stop it renaming again the first file it renamed (can happen depending on the number being used in var 'c' and the original file names).
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f416715%2foutput-filenames-with-for-loop-in-a-batch-file%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
After sleeping over it I found the answer to the problem. I only have to write the name of the file that is about to be renamed as I 'know' what I am about to call it! Obvious in the end.
set /a c=%1
set param=%2
setLocal ENABLEDELAYEDEXPANSION
FOR %%i in (*.tif) do (
echo %%i >>in.txt
ren %%i %param%!c!.tif
echo %param%!c!.tif >>out.txt
set /a c=c+1
)
endlocal
All I need to do now is put in a test to stop it renaming again the first file it renamed (can happen depending on the number being used in var 'c' and the original file names).
add a comment |
After sleeping over it I found the answer to the problem. I only have to write the name of the file that is about to be renamed as I 'know' what I am about to call it! Obvious in the end.
set /a c=%1
set param=%2
setLocal ENABLEDELAYEDEXPANSION
FOR %%i in (*.tif) do (
echo %%i >>in.txt
ren %%i %param%!c!.tif
echo %param%!c!.tif >>out.txt
set /a c=c+1
)
endlocal
All I need to do now is put in a test to stop it renaming again the first file it renamed (can happen depending on the number being used in var 'c' and the original file names).
add a comment |
After sleeping over it I found the answer to the problem. I only have to write the name of the file that is about to be renamed as I 'know' what I am about to call it! Obvious in the end.
set /a c=%1
set param=%2
setLocal ENABLEDELAYEDEXPANSION
FOR %%i in (*.tif) do (
echo %%i >>in.txt
ren %%i %param%!c!.tif
echo %param%!c!.tif >>out.txt
set /a c=c+1
)
endlocal
All I need to do now is put in a test to stop it renaming again the first file it renamed (can happen depending on the number being used in var 'c' and the original file names).
After sleeping over it I found the answer to the problem. I only have to write the name of the file that is about to be renamed as I 'know' what I am about to call it! Obvious in the end.
set /a c=%1
set param=%2
setLocal ENABLEDELAYEDEXPANSION
FOR %%i in (*.tif) do (
echo %%i >>in.txt
ren %%i %param%!c!.tif
echo %param%!c!.tif >>out.txt
set /a c=c+1
)
endlocal
All I need to do now is put in a test to stop it renaming again the first file it renamed (can happen depending on the number being used in var 'c' and the original file names).
edited Apr 26 '12 at 11:19
slhck
163k47449473
163k47449473
answered Apr 26 '12 at 10:22
user130218user130218
11
11
add a comment |
add a comment |
Thanks for contributing an answer to Super User!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f416715%2foutput-filenames-with-for-loop-in-a-batch-file%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown