Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何在for循环中的'if'语句中创建一个布尔值,以检查文件名%%f前面是否存在术语?_Batch File - Fatal编程技术网

Batch file 如何在for循环中的'if'语句中创建一个布尔值,以检查文件名%%f前面是否存在术语?

Batch file 如何在for循环中的'if'语句中创建一个布尔值,以检查文件名%%f前面是否存在术语?,batch-file,Batch File,我大约60%的歌曲集都有歌词。歌词的文件名与歌曲的文件名相同,在文件名前面加上zzz\uz,扩展名为.lrc C:\Songs\album\song.mp3 C:\Songs\album\zzz_song.lrc 我现在像这样打印文件名 for /r "C:\Songs" %%f in (*.mp3 *.flac) do ( echo %%f ) 如何在for循环中的if语句中创建布尔值以检查歌词文件的存在 我在想 if exist zzz_%f echo zzz_%f.lr

我大约60%的歌曲集都有歌词。歌词的文件名与歌曲的文件名相同,在文件名前面加上
zzz\uz
,扩展名为
.lrc

C:\Songs\album\song.mp3
C:\Songs\album\zzz_song.lrc
我现在像这样打印文件名

for /r "C:\Songs" %%f in (*.mp3 *.flac) do (    
    echo %%f
)
如何在for循环中的
if
语句中创建布尔值以检查歌词文件的存在

我在想

if exist zzz_%f echo zzz_%f.lrc

但是
zzz\uuf
zzz\uf
预先添加到完整的文件路径(例如
zzz\u C:\Songs\album\song.mp3
)中,并且
将lrc
附加到现有扩展名中使用
%%nxf
修饰符获取扩展名,使用%~pf获取当前文件路径

@echo off
@set prefix=zzz_
for /r "C:\Songs" %%f in (*.mp3 *.flac) do (
  IF EXIST "%%~pf%prefix%%%~nxf" echo "%%~pf%prefix%%%~nxf"
)
命令变量:


for
允许几个修饰符与其变量一起使用,正如您的示例所示,
%%~nf
只提供基本名称(没有路径,没有扩展名)。要了解更多信息,请从命令行运行的帮助,这里对它们进行了很好的解释

我已经知道
%%~nf
的作用,我应该在if语句中使用什么布尔值?@user784637如果你知道,那么你有什么确切的问题?在
exist
中组合修饰符和您的文本,以便它们形成适当的完全限定名,这就是您所需要做的。用你已经尝试过的内容编辑你的问题。一个糟糕的问题。
%%~nxf   file name and extension;
%%~nf    file name;
%%~xf    file extension;
%%~pf    file path;