什么是" /"从批处理文件意味着这一行?

时间:2016-11-03 15:52:25

标签: windows batch-file find

我在这里的帖子中找到了这行代码。我用它作为我的批处理文件,它的工作原理。我只想了解' /'在FIND命令之后的双引号中。

    dir /a-d "\\SERVERNAME\SHARE\FOLDER\*.ext" | find /C "/"

提前致谢!

3 个答案:

答案 0 :(得分:0)

它告诉find命令在dir命令中找到哪个字符串,该命令被重定向到find/c告诉find输出行数 - 在哪里找到目标字符串,因此如果您的日期分隔符为/,则计数为...文件发现的。

答案 1 :(得分:0)

如果您输入

FIND

在CMD窗口中,/?会告诉您它的用法:

function getValue(object, path) {
    return path.reduce(function (o, k) {
        return (o || {})[k];
    }, object);
}

var object = { glossary: { title: "example glossary", GlossDiv: { title: "S", GlossList: { GlossEntry: { ID: "SGML", SortAs: "SGML", GlossTerm: "Standard Generalized Markup Language", Acronym: "SGML", Abbrev: "ISO 8879:1986", GlossDef: { para: "A meta-markup language, used to create markup languages such as DocBook.", GlossSeeAlso: ["GML", "XML"] }, GlossSee: "markup" } } } } };

console.log(getValue(object, ['glossary', 'GlossDiv', 'GlossList', 'GlossEntry', 'SortAs']));

因此,双引号中的字符串是您想要{"campos":[ {"field":"tec","name_es":"Tecnico","required":1,"tipo":"autodropdown","placeholder_es":null}, {"field":"horas","name_es":"Horas","required":1,"tipo":"input","placeholder_es":null}, {"field":"fechaEntrada","name_es":"Fecha Entrada","required":0,"tipo":"datetime","placeholder_es":"0"}, {"field":"fechaSalida","name_es":"Fecha Salida","required":0,"tipo":"datetime","placeholder_es":null}, {"field":"observaciones","name_es":"Observaciones","required":0,"tipo":"textarea","placeholder_es":null}, {"field":"facturable","name_es":"Facturable","required":0,"tipo":"onoff","placeholder_es":null} ]} 找到的。

支持<label class="item item-input" id="horas"> <span class="input-label">Horas</span> <input type="text" placeholder="Horas" value="" ng-model="user.horas" required> </label> <label class="item item-input"> <span class="input-label">Fecha Entrada</span> <input type="date"> </label> <label class="item item-input"> <span class="input-label">Fecha Salida</span> <input type="date"> </label> <label class="item item-input"> <span class="input-label">Observaciones</span> <textarea rows="6" placeholder=""></textarea> </label> <ion-toggle toggle-class="toggle-calm">Facturable</ion-toggle> 选项,对许多内置DOS命令都很有用。

答案 2 :(得分:0)

命令行可能用于获取匹配文件的计数。由于dir返回标题,包含日期/时间和大小的文件列表以及页脚,因此/可能已被选为搜索字符,因为这可能只发生在文件的日期中列表但不在额外的行(页眉/页脚)中。以下是dir /A-D "\\SERVERNAME\SHARE\FOLDER\*.ext"的示例输出:

 Volume in drive \\SERVERNAME\SHARE is DATA
 Volume Serial Number is 0000-0000

 Directory of \\SERVERNAME\SHARE\FOLDER

03/11/2016  12:00                 10 file.ext
03/11/2016  11:00                 26 sample.ext
               2 File(s)             36 bytes
               0 Dir(s)  99,999,999,964 bytes free

如您所见,斜杠字符(/)仅出现在日期中,以防它被定义为当前计算机上的日期分隔符,这使整个方法依赖于区域设置。

管道|将此输出传输到下一个命令,即find /C "/",该命令计算包含至少一个/C字符的行数(/)。

如果我怀疑你是对的,你可以使用以下代码:

dir /B /A-D "\\SERVERNAME\SHARE\FOLDER\*.ext" | find /C /V ""

/B开关告诉dir返回一个没有任何额外内容的裸文件列表,例如:

sample.ext
file.ext

然后find /C /V ""命令计算(/C)所有不匹配的行(/V)为空字符串(""),因此它返回总计数给定位置的*.ext个文件。与原始方法相反,这个方法完全独立于区域设置和区域设置。