Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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/3/apache-spark/5.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
Windows 如何以编程方式设置SourceMask大小?_Windows_Batch File_Cmd - Fatal编程技术网

Windows 如何以编程方式设置SourceMask大小?

Windows 如何以编程方式设置SourceMask大小?,windows,batch-file,cmd,Windows,Batch File,Cmd,正如本网站()所述,?.*表示: 给我所有以一个字符作为名称的文件,以及 分机 我的批处理文件代码实际上如下所示: ::Rename all elements following the D3 format for %%a in (?.*) do ren "%%a" "Img_00%%a" for %%a in (??.*) do ren "%%a" "Img_0%%a" for %%a in (???.*) do ren "%%a" "Img_%%a" 这闻起来像是我应该能够用一个变量来设置

正如本网站()所述,?.*表示:

给我所有以一个字符作为名称的文件,以及 分机

我的批处理文件代码实际上如下所示:

::Rename all elements following the D3 format
for %%a in (?.*) do ren "%%a" "Img_00%%a"
for %%a in (??.*) do ren "%%a" "Img_0%%a"
for %%a in (???.*) do ren "%%a" "Img_%%a"
这闻起来像是我应该能够用一个变量来设置询问的次数,但我不知道如何设置,我也不知道这是否可能,因为我是批处理编码新手。

您似乎想用前导零填充(数字?)文件名,使其有三个数字,然后添加前缀。我会用另一种方式:

@echo关闭
setlocal EnableDelayedExpansion
rem/*循环浏览所有匹配的文件;
rem此过滤器用于过滤十进制数字:*/
对于/F“delims=”%%F in('
目录/B“?*”^| findstr“^[0-9][0-9]*\.[^\.]$”
""做"(
rem//在文件名前面加上零
设置“NAME=000%%~nF”
rem//根据需要从右侧保留尽可能多的数字:
ren“%%~F”Img_u2;!名称:~-3!%%~xF
)
端部
由于变量
NAME
在同一代码块中被修改,即
for
循环,因此这需要使用


表达式构成一个过滤器,它只接受由十进制数字组成的文件名。如果您不想这样做,只需删除
^
和整个
findstr
命令行。

事实上,
表示“零或一个字符”。令人困惑,但是开发者选择的方式。
where
命令对其进行了不同的解释:“正好一个字符”(就像人们所期望的那样)