Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Add -LiteralPath parameter to Start-ThreadJob for cross-platform path handling

Abierto
#56 0 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
56/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
powershell
Área
cli

Línea de trabajo

Start with src/code/Microsoft.PowerShell.ThreadJob.cs, especially the GetScriptBlockFromFile method linked in the issue, and trace how -FilePath parameter sets are declared. Compare the parameter sets and aliases with Start-Job, then inspect or run the existing Start-ThreadJob tests for file paths. Done means -LiteralPath, -PSPath, and -LP accept wildcard characters literally and cannot be combined with -FilePath.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement
Summary of the new feature / enhancement

Summary

Start-ThreadJob should support -LiteralPath parameter (with -PSPath and -LP aliases) to match Start-Job's functionality and handle cross-platform file paths that may contain wildcard characters.

Problem

PowerShell is now cross-platform, and characters traditionally used as wildcards (*, ?, [, ]) may be present in filenames on non-Windows systems (e.g., Linux, macOS). Currently, Start-ThreadJob only has a -FilePath parameter, which may cause issues when:

  1. A legitimate filename contains wildcard characters on Unix-like systems
  2. Users need to ensure paths are interpreted literally without pattern matching
  3. Users want API consistency between Start-Job and Start-ThreadJob

Current Behavior

Start-ThreadJob only supports:

Start-ThreadJob -FilePath "path/to/script.ps1"

The -FilePath parameter rejects paths with wildcard characters (see GetScriptBlockFromFile method):

if (WildcardPattern.ContainsWildcardCharacters(filePath))
{
    throw new ArgumentException("FilePath cannot contain wildcards.");
}
Proposed technical implementation details (optional)

Proposed Solution

Add a -LiteralPath parameter to Start-ThreadJob with:

  • Aliases: -PSPath, -LP (matching Start-Job)
  • Behavior: Interprets paths literally without wildcard evaluation
  • Mutual exclusivity: -FilePath and -LiteralPath should be in different parameter sets

Example usage:

# For a file literally named "test[1].ps1" on Linux
Start-ThreadJob -LiteralPath "/home/user/scripts/test[1].ps1"

# With aliases
Start-ThreadJob -PSPath "/home/user/scripts/test[1].ps1"
Start-ThreadJob -LP "/home/user/scripts/test[1].ps1"
Lenguaje dominante
PowerShell
Estrellas
37
Forks
22
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de PowerShell/ThreadJob

Todos los issues de PowerShell/ThreadJob

Issues similares

Más issues de CLI

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.