Divisor de partes de ruta
Pegue /home/a/file.tar.gz y obtenga sus partes: carpeta /home/a, nombre de archivo file.tar.gz, nombre file.tar, extensión .gz y raíz /. Todo se deduce del texto, sin tocar ningún disco. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Ruta
- /home/a/file.tar.gz
- Directorio
- /home/a
- Nombre de archivo
- file.tar.gz
- Nombre base
- file.tar
- Ext
- .gz
Divida una cadena de ruta en dirname, basename, stem, extensión y root. Intención de búsqueda: path basename dirname extensión. No se requieren llamadas de red, semillas aleatorias ni estado de servidor para una respuesta correcta.
Cómo funciona
Divida una cadena de ruta en dirname, basename, stem, extensión y root. Análisis puro de cadenas — nunca toca el sistema de archivos. La implementación es JavaScript puro sin servicios externos.
No se requieren llamadas de red, semillas aleatorias ni estado de servidor para una respuesta correcta. Los trabajos fallidos no se facturan. Las landings apuntan a la intención de búsqueda con palabras clave precisas.
Prefiera unidades y rangos explícitos frente a la coerción silenciosa de tipos erróneos. Cuando un campo es opcional, los valores por defecto se documentan en params y se devuelven en la salida. Esto mantiene
Entradas, límites y redondeo
Los decimales opcionales usan half-up una sola vez. Las salidas repiten las entradas clave para que la automatización registre el contexto completo de cada llamada. No se requieren llamadas de red, semillas aleatorias ni estado de servidor para una respuesta correcta.
Los trabajos fallidos no se facturan. Las landings apuntan a la intención de búsqueda con palabras clave precisas. Prefiera unidades y rangos explícitos frente a la coerción silenciosa de tipos erróneos.
Cuando
Cuándo usarlo
Úselo cuando su intención de búsqueda coincida con el nombre de la calculadora y necesite una respuesta reproducible para docencia, operaciones financieras, GIS, herramientas de texto o trabajo histórico de unidades. Divida una cadena de ruta en dirname, basename, stem, extensión y root. No se requieren llamadas de red, semillas aleatorias ni estado de servidor para una respuesta correcta.
Los trabajos fallidos no se facturan. Las landings apuntan a la intención de búsqueda con palabras clave precisas. Prefiera unidades y rangos explícitos frente a la coerción silenciosa de tipos erróneos.
Cuando un campo es opcional, los valores por defecto son
Preguntas frecuentes
¿Realiza llamadas de red?
No. Todas las transformaciones matemáticas y de texto son locales y deterministas.
¿Quién es el autor?
Aspire (elon@forhosting.com), entrega solo en EN; Nitro hidrata los idiomas.
¿Comprueba si el archivo o la carpeta existen?
No. Es un análisis del texto puro y nunca toca el sistema de archivos, así que funciona con cualquier ruta que escriba, incluso con una que no exista en su equipo ni en ningún servidor.
¿Qué extensión da para un nombre como file.tar.gz?
Solo la última, .gz, y deja file.tar como nombre sin extensión. Si necesita la extensión doble completa, tómela del nombre de archivo entero, que se devuelve tal cual.
¿Cómo sé si una ruta es absoluta?
La herramienta le indica la raíz y si la ruta es absoluta. En el ejemplo, /home/a/file.tar.gz empieza en la raíz /, de modo que se marca como absoluta.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/text/path-parts \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"path":"/home/a/file.tar.gz"}'const res = await fetch("https://api.kit.forhosting.com/text/path-parts", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"path": "/home/a/file.tar.gz"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/path-parts",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"path": "/home/a/file.tar.gz"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/path-parts", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"path":"/home/a/file.tar.gz"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"path":"/home/a/file.tar.gz"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/path-parts", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"path": "/home/a/file.tar.gz"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.path_parts",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
La calculadora es gratuita en el navegador, determinista e idéntica por la ruta de API. Las entradas se validan antes de cualquier aritmética; las cargas inválidas fallan con invalid_input. El redondeo half-up se aplica una sola vez desde resultados IEEE en bruto cuando se piden decimales. Use el mismo contrato JSON desde hojas de cálculo, CMS
Cómo funciona
La calculadora es gratuita en el navegador, determinista e idéntica por la ruta de API. Las entradas se validan antes de cualquier aritmética; las cargas inválidas fallan con invalid_input. El redondeo half-up se aplica una sola vez desde resultados IEEE en bruto cuando se piden decimales. Use el mismo contrato JSON desde hojas de cálculo, ganchos CMS, automatización o demos docentes.
Entradas, límites y redondeo
Proporcione los parámetros obligatorios como números o cadenas JSON según la documentación. Tipos inválidos, campos obligatorios ausentes o valores fuera de rango lanzan invalid_input con un mensaje claro. La calculadora es gratuita en el navegador, determinista e idéntica por la ruta de API. Las entradas se validan antes de cualquier aritmética; las cargas inválidas fallan con invalid_input. El redondeo half-up se aplica una sola vez desde resultados IEEE en bruto cuando se piden decimales. Use el mismo contrato JSON desde hojas de cálculo, ganchos CMS, automatización o demos docentes.
Cuándo usarlo
La calculadora es gratuita en el navegador, determinista e idéntica por la ruta de API. Las entradas se validan antes de cualquier aritmética; las cargas inválidas fallan con invalid_input. El redondeo half-up se aplica una sola vez desde resultados IEEE en bruto cuando se piden decimales. Use el mismo contrato JSON desde hojas de cálculo, ganchos CMS, automatización o demos docentes.
Casos de integración
Comprobación rápida
Pegue valores en el widget gratuito y compárelos con una hoja de cálculo.
Automatización
Llame a la API con el mismo contrato JSON desde n8n, scripts o un CMS.
Docencia
Muestre la fórmula y los ejemplos golden fijados sin software propietario.
Preguntas técnicas
¿Es gratuito en el navegador?
Sí. El nivel A se ejecuta por completo en el cliente con el mismo núcleo que la API.
¿Qué ocurre con una entrada incorrecta?
El manejador lanza invalid_input; los trabajos fallidos no se facturan.
¿Puedo usarlo desde la API?
Sí. Envíe los mismos campos JSON documentados en params.