Estoy usando la función de expansión de cadenas para compilar nombres de archivos, y no entiendo muy bien qué está pasando.Extraña expansión de cadenas con powershell
consideran:
$baseName = "base"
[int]$count = 1
$ext = ".ext"
$fileName = "$baseName$count$Ext"
#filename evaluates to "base1.ext" -- expected
#now the weird part -- watch for the underscore:
$fileName = "$baseName_$count$Ext"
#filename evaluates to "1.ext" -- the basename got dropped, what gives?
Simplemente añadiendo el subrayado parece arrojar completamente fuera de la ranura de Powershell! Probablemente sea una regla de sintaxis extraña, pero me gustaría entender la regla. ¿Puede alguien ayudarme?
Sí, eso ayuda mucho. Gracias. – JMarsch
También funciona, pero la solución de soporte es más limpia. $ fileName = "$ ($ baseName) _ $ ($ count) $ ($ Ext)"; $ fileName –