Pregunta excluir un nombre de archivo en FOR LOOP


Tenía pocos archivos con nombres como cp1_2015_09_10.txt cp3_2015_09_11.txt kmps_2014_08_03.txt y cpms_2015_07_10.txt ksms_2015_10_07.txt en una carpeta del subdirectorio de la unidad D de la carpeta de verificación. quería eliminar el nombre del archivo del ciclo for con el _2015_10_07 para la fecha de hoy

setlocal
SET /A MAXJ=1
SET /A J=1

set   year=%date:~10,4% 

set year=%year: =%
echo %year%

set  month=%date:~7,2%
set month=%month: =%

set  day=%date:~4,2%
set day=%day: =%

FOR /F "usebackq tokens=*" %%i IN (DIR /S /B D:\check\*.txt| find /v "_%year%_%month%_%day%")  DO ( 

    SET XCOUNT_!J!=%%~i
SET MAXJ=!J!
    SET /A J+=1)
SET XCOUNT

SET /A J-=1

@echo COUNT OF FILES IS : %J%
PAUSE

0


origen




Respuestas:


Quería eliminar el nombre de archivo del bucle for

FOR /F "usebackq tokens=*" %%i IN (DIR /S /B D:\check\*.txt| find /v "_%year%_%month%_%day%")  DO (

Tu for la sintaxis es incorrecta de dos maneras:

  1. Tu estas usando usebackq

    • Eso significa que el argumento de comando para for  debe delimitarse con citas atrás `
  2. No estás escapando del símbolo de la tubería.

    • Reemplace la tubería | símbolo con ^|

Corregido for mando:

FOR /F "usebackq tokens=*" %%i IN (`DIR /S /B D:\check\*.txt ^| find /v "_%year%_%month%_%day%"`)  DO (

También puede haber otros errores en su archivo por lotes ...


Sintaxis

FOR / F ["options"] %% parameter IN ('command_to_process') Manda DO

Llave

opciones:

usebackq Usa el estilo alternativo de cotización:

  • Use comillas dobles para nombres de archivo largos en "filenameset".
  • Use comillas simples para 'Cadena de texto para procesar'
  • Use comillas para command_to_process

Fuente para / f


Personaje de escape

^  Personaje de escape.

Agregar el carácter de escape antes de un símbolo de comando permite que se trate como texto ordinario.

Al canalizar o redirigir cualquiera de estos caracteres &, \, <, >, ^ o | deberías prefijarlos con el carácter de escape.

Por ejemplo ^\  ^&  ^|  ^>  ^<  ^^ 

Fuente sintaxis 

Otras lecturas


0