Divisor de partes de caminho
Cole /home/a/file.tar.gz e receba as partes: pasta /home/a, nome do arquivo file.tar.gz, nome file.tar, extensão .gz e raiz /. Tudo sai do próprio texto, sem tocar em nenhum disco. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Caminho
- /home/a/file.tar.gz
- Diretório
- /home/a
- Nome do arquivo
- file.tar.gz
- Nome base
- file.tar
- Ext
- .gz
Divida uma string de caminho em dirname, basename, stem, extensão e root. Intenção de busca: path basename dirname extensão. Não são necessárias chamadas de rede, sementes aleatórias nem estado de servidor para uma resposta correta.
Como funciona
Divida uma string de caminho em dirname, basename, stem, extensão e root. Análise pura de strings — nunca toca o sistema de arquivos. A implementação é JavaScript puro, sem serviços externos.
Não são necessárias chamadas de rede, sementes aleatórias nem estado de servidor para uma resposta correta. Trabalhos com falha não são cobrados. As landings miram a intenção de busca com palavras-chave precisas.
Prefira unidades e faixas explícitas em vez de coerção silenciosa de tipos ruins. Quando um campo é opcional, os padrões são documentados em params e ecoados na saída. Isso mantém
Entradas, limites e arredondamento
Decimais opcionais usam half-up uma vez. As saídas ecoam as entradas-chave para que a automação registre o contexto completo de cada chamada. Não são necessárias chamadas de rede, sementes aleatórias nem estado de servidor para uma resposta correta.
Trabalhos com falha não são cobrados. As landings miram a intenção de busca com palavras-chave precisas. Prefira unidades e faixas explícitas em vez de coerção silenciosa de tipos ruins.
Quando
Quando usar
Use quando a intenção de busca coincidir com o nome da calculadora e você precisar de uma resposta reproduzível para ensino, operações financeiras, GIS, ferramentas de texto ou trabalho histórico de unidades. Divida uma string de caminho em dirname, basename, stem, extensão e root. Não são necessárias chamadas de rede, sementes aleatórias nem estado de servidor para uma resposta correta.
Trabalhos com falha não são cobrados. As landings miram a intenção de busca com palavras-chave precisas. Prefira unidades e faixas explícitas em vez de coerção silenciosa de tipos ruins.
Quando um campo é opcional, os padrões são
Perguntas frequentes
Ele chama a rede?
Não. Todas as transformações matemáticas e de texto são locais e determinísticas.
Quem é o autor?
Aspire (elon@forhosting.com), entrega só em EN; o Nitro hidrata os idiomas.
Ele verifica se o arquivo ou a pasta existem?
Não. É uma análise só do texto e nunca toca no sistema de arquivos, então funciona com qualquer caminho que você digitar, até com um que não existe no seu computador nem em servidor nenhum.
Qual extensão ele dá para um nome como file.tar.gz?
Só a última, .gz, e deixa file.tar como nome sem extensão. Se você precisa da extensão dupla completa, pegue-a do nome do arquivo inteiro, que volta como está.
Como sei se um caminho é absoluto?
A ferramenta mostra a raiz e se o caminho é absoluto. No exemplo, /home/a/file.tar.gz começa na raiz /, então aparece como absoluto.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"path": "/home/a/file.tar.gz"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.path_parts",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
A calculadora é gratuita no navegador, determinística e idêntica na rota da API. As entradas são validadas antes de qualquer aritmética; cargas inválidas falham com invalid_input. O arredondamento half-up é aplicado uma única vez a partir de resultados IEEE brutos quando se pedem decimais. Use o mesmo contrato JSON a partir de planilhas, CMS
Como funciona
A calculadora é gratuita no navegador, determinística e idêntica na rota da API. As entradas são validadas antes de qualquer aritmética; cargas inválidas falham com invalid_input. O arredondamento half-up é aplicado uma única vez a partir de resultados IEEE brutos quando se pedem decimais. Use o mesmo contrato JSON a partir de planilhas, hooks de CMS, automação ou demos didáticas.
Entradas, limites e arredondamento
Forneça os parâmetros obrigatórios como números ou strings JSON conforme a documentação. Tipos inválidos, campos obrigatórios ausentes ou valores fora da faixa geram invalid_input com mensagem clara. A calculadora é gratuita no navegador, determinística e idêntica na rota da API. As entradas são validadas antes de qualquer aritmética; cargas inválidas falham com invalid_input. O arredondamento half-up é aplicado uma única vez a partir de resultados IEEE brutos quando se pedem decimais. Use o mesmo contrato JSON a partir de planilhas, hooks de CMS, automação ou demos didáticas.
Quando usar
A calculadora é gratuita no navegador, determinística e idêntica na rota da API. As entradas são validadas antes de qualquer aritmética; cargas inválidas falham com invalid_input. O arredondamento half-up é aplicado uma única vez a partir de resultados IEEE brutos quando se pedem decimais. Use o mesmo contrato JSON a partir de planilhas, hooks de CMS, automação ou demos didáticas.
Casos de integração
Verificação rápida
Cole valores no widget gratuito e compare com uma planilha.
Automação
Chame a API com o mesmo contrato JSON a partir do n8n, de scripts ou de um CMS.
Ensino
Mostre a fórmula e os exemplos golden fixados sem software proprietário.
Perguntas técnicas
É gratuito no navegador?
Sim. O nível A roda totalmente no cliente com o mesmo núcleo da API.
O que acontece com entrada inválida?
O handler lança invalid_input; trabalhos com falha não são cobrados.
Posso usar pela API?
Sim. Envie os mesmos campos JSON documentados em params.