我有以下Windows批处理文件:
@echo off
setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
cd "C:\Users\jgsyl_000\Music\iTunes\iTunes Media\Music\"
for /d %%G in (*) do (
Pushd %%G
rem Echo now in %%G
for /D %%a in (*) do (
pushd %%a
rem Echo now in %%a
dir /B > tempfile.txt
set /p teste=< tempfile.txt
echo "%teste%"
TaggerSharp.exe "%teste%" -b >> "C:\Users\jgsyl_000\Music\Statistics\Albums.txt"
del tempfile.txt
popd
)
Popd
)
具体问题是set /p teste = < tempfile.txt
的结果。当我从这个批处理文件中运行它时,该值始终为空字符串。当我从一个单独的批处理文件中运行set命令时,任何循环,它都可以正常工作。关于我缺少什么的任何建议?
答案 0 :(得分:0)
我收到了两个问题的答案:1)来自@SachaDee和2)@Scott C.我无法直接回复或评论@SachaDee。我回复了对@Scott C的评论。我找不到该网站的帮助所说的任何选中标记,以便将我的问题标记为已回答,所以我正在回答我自己的问题。也许主持人可以回复并关闭这个问题,作为@SachaDee和@Scott C
的回答答案 1 :(得分:0)
这可以通过使用转义字符(^)吗?
set /p teste=^< tempfile.txt
此外,您可能必须使用!test!
替换%tester%