poner organizar etiquetas colorear carpetas automaticamente archivos windows batch-file

organizar - poner etiquetas a carpetas en windows



Encontrar el nombre de archivo del archivo por lotes en ejecuciĆ³n (5)

Dentro de un archivo de proceso por lotes de Windows, me gustaría determinar cuál es el nombre de ruta completo de este archivo por lotes.

Intenté% 0, pero esto solo me da el comando mecanografiado (por ejemplo, solo el nombre del archivo sin ruta o extensión).


"% ~ f0"

"% ~ dpnx0"

Cualquiera de los anteriores proporciona la ruta totalmente calificada. Colóquelo entre comillas dobles en caso de que la ruta contenga espacios.


% CD% da el directorio actual.

% ~ dp0 le dará el directorio en el que se encuentra el script.

IE: script en la carpeta c: /, lo llamo desde c: / otherfolder

% CD% = C: / otherfolder

% ~ dp0 = c: / folder

(Estoy 99% seguro de que tengo esos en el camino correcto, pero no tengo ventanas para comprobar en atm).

editar: y desde allí, utilizando el que ya tiene, debería poder obtener el nombre del archivo por lotes


CALLING SCRIPT: "FIRST.BAT":

call second.bat %0 parameter-a parameter-b

CALLED SCRIPT: "SECOND.BAT":

echo The name of this called script should be "SECOND", proof: %~n0 echo The 1st parameter passed should be "FIRST", proof: %1 shift echo The name of the calling script should be "FIRST", proof: %~n0 echo The 1st parameter should be "parameter-a", proof: %1


Para tu información,

Tendrá que habilitar el comando extends, que no existe antes de Win 2000 (no sé NT4)

VER: cmd.exe /?

/E:ON Enable command extensions (see below) /E:OFF Disable command extensions (see below)

las extensiones de comando están habilitadas por defecto en Windows.

Otra ayuda que sugiero leer es el comando FOR. Contiene un significado completo para esas banderas.

Ver por /?

In addition, substitution of FOR variable references has been enhanced. You can now use the following optional syntax: %~I - expands %I removing any surrounding quotes (") %~fI - expands %I to a fully qualified path name %~dI - expands %I to a drive letter only %~pI - expands %I to a path only %~nI - expands %I to a file name only %~xI - expands %I to a file extension only %~sI - expanded path contains short names only %~aI - expands %I to file attributes of file %~tI - expands %I to date/time of file %~zI - expands %I to size of file %~$PATH:I - searches the directories listed in the PATH environment variable and expands %I to the fully qualified name of the first one found. If the environment variable name is not defined or the file is not found by the search, then this modifier expands to the empty string The modifiers can be combined to get compound results: %~dpI - expands %I to a drive letter and path only %~nxI - expands %I to a file name and extension only %~fsI - expands %I to a full path name with short names only %~dp$PATH:I - searches the directories listed in the PATH environment variable for %I and expands to the drive letter and path of the first one found. %~ftzaI - expands %I to a DIR like output line In the above examples %I and PATH can be replaced by other valid values. The %~ syntax is terminated by a valid FOR variable name. Picking upper case variable names like %I makes it more readable and avoids confusion with the modifiers, which are not case sensitive.


echo %~f0

funciona para mi.