Title: Backtick escaping inconsistent · Issue #7999 · PowerShell/PowerShell · GitHub
Open Graph Title: Backtick escaping inconsistent · Issue #7999 · PowerShell/PowerShell
X Title: Backtick escaping inconsistent · Issue #7999 · PowerShell/PowerShell
Description: Was investigating escaping a filename for PowerShell in PowerShell/PowerShellEditorServices#765 (comment). I created a directory with the following files: Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 10/11/2018 10...
Open Graph Description: Was investigating escaping a filename for PowerShell in PowerShell/PowerShellEditorServices#765 (comment). I created a directory with the following files: Mode LastWriteTime Length Name ---- ------...
X Description: Was investigating escaping a filename for PowerShell in PowerShell/PowerShellEditorServices#765 (comment). I created a directory with the following files: Mode LastWriteTime Length Name ---- ------...
Opengraph URL: https://github.com/PowerShell/PowerShell/issues/7999
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Backtick escaping inconsistent","articleBody":"Was investigating escaping a filename for PowerShell in https://github.com/PowerShell/PowerShellEditorServices/pull/765#discussion_r224297544.\r\n\r\nI created a directory with the following files:\r\n```\r\nMode LastWriteTime Length Name\r\n---- ------------- ------ ----\r\n-a---- 10/11/2018 10:57 AM 9 [script.ps1\r\n-a---- 10/11/2018 10:57 AM 1 `[script.ps1\r\n-a---- 10/11/2018 10:57 AM 1 ``[script.ps1\r\n-a---- 10/11/2018 10:57 AM 1 ```[script.ps1\r\n-a---- 10/11/2018 10:57 AM 1 ````[script.ps1\r\n-a---- 10/11/2018 10:57 AM 8 script.ps1\r\n```\r\n\r\n(`New-Item` doesn't seem to have a `LiteralPath` parameter by the way)\r\n\r\nI then run the following:\r\n```powershell\r\nforeach ($i in 0..12) { $ticks = '`' * $i; Get-Item \"./$ticks[script.ps1\" }\r\n```\r\n\r\n## Actual Results\r\n\r\nThe output of this in the given directory gives me:\r\n```\r\nGet-Item : Cannot retrieve the dynamic parameters for the cmdlet. The specified wildcard character pattern is not valid: [script.ps1\r\nAt line:1 char:44\r\n+ ... h ($i in 0..12) { $ticks = '`' * $i; Get-Item \"./$ticks[script.ps1\" }\r\n+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n+ CategoryInfo : InvalidArgument: (:) [Get-Item], ParameterBindingException\r\n+ FullyQualifiedErrorId : GetDynamicParametersException,Microsoft.PowerShell.Commands.GetItemCommand\r\n\r\n\r\n\r\n Directory: C:\\Users\\roholt\\Documents\\Dev\\sandbox\\badnames\r\n\r\n\r\nMode LastWriteTime Length Name\r\n---- ------------- ------ ----\r\n-a---- 10/11/2018 10:57 AM 9 [script.ps1\r\n-a---- 10/11/2018 10:57 AM 9 [script.ps1\r\n-a---- 10/11/2018 10:57 AM 1 `[script.ps1\r\nGet-Item : Cannot retrieve the dynamic parameters for the cmdlet. The specified wildcard character pattern is not valid: ``[script.ps1\r\nAt line:1 char:44\r\n+ ... h ($i in 0..12) { $ticks = '`' * $i; Get-Item \"./$ticks[script.ps1\" }\r\n+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n+ CategoryInfo : InvalidArgument: (:) [Get-Item], ParameterBindingException\r\n+ FullyQualifiedErrorId : GetDynamicParametersException,Microsoft.PowerShell.Commands.GetItemCommand\r\n\r\n-a---- 10/11/2018 10:57 AM 1 ``[script.ps1\r\n-a---- 10/11/2018 10:57 AM 1 `[script.ps1\r\n-a---- 10/11/2018 10:57 AM 1 ```[script.ps1\r\nGet-Item : Cannot retrieve the dynamic parameters for the cmdlet. The specified wildcard character pattern is not valid: ````[script.ps1\r\nAt line:1 char:44\r\n+ ... h ($i in 0..12) { $ticks = '`' * $i; Get-Item \"./$ticks[script.ps1\" }\r\n+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n+ CategoryInfo : InvalidArgument: (:) [Get-Item], ParameterBindingException\r\n+ FullyQualifiedErrorId : GetDynamicParametersException,Microsoft.PowerShell.Commands.GetItemCommand\r\n\r\n-a---- 10/11/2018 10:57 AM 1 ````[script.ps1\r\n-a---- 10/11/2018 10:57 AM 1 ``[script.ps1\r\nGet-Item : Cannot find path 'C:\\Users\\roholt\\Documents\\Dev\\sandbox\\badnames\\`````[script.ps1' because it does not exist.\r\nAt line:1 char:44\r\n+ ... h ($i in 0..12) { $ticks = '`' * $i; Get-Item \"./$ticks[script.ps1\" }\r\n+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n+ CategoryInfo : ObjectNotFound: (C:\\Users\\roholt...````[script.ps1:String) [Get-Item], ItemNotFoundException\r\n+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand\r\n\r\nGet-Item : Cannot retrieve the dynamic parameters for the cmdlet. The specified wildcard character pattern is not valid: ``````[script.ps1\r\nAt line:1 char:44\r\n+ ... h ($i in 0..12) { $ticks = '`' * $i; Get-Item \"./$ticks[script.ps1\" }\r\n+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n+ CategoryInfo : InvalidArgument: (:) [Get-Item], ParameterBindingException\r\n+ FullyQualifiedErrorId : GetDynamicParametersException,Microsoft.PowerShell.Commands.GetItemCommand\r\n```\r\n\r\nMore concretely:\r\n\r\n```\r\n\u003e Get-Item './[script.ps1' # 0\r\n# Error (The specified wildcard character pattern is not valid: [script.ps1)\r\n\u003e Get-Item './`[script.ps1' # 1\r\n# Finds '[script.ps1'\r\n\u003e Get-Item './``[script.ps1' # 2\r\n# Finds '[script.ps1' \u003c--- ???\r\n\u003e Get-Item './```[script.ps1' # 3\r\n# Finds '`[script.ps1'\r\n\u003e Get-Item './````[script.ps1' # 4\r\n# Error (The specified wildcard character pattern is not valid: ``[script.ps1)\r\n\u003e Get-Item './`````[script.ps1' # 5\r\n# Finds '``[script.ps1'\r\n\u003e Get-Item './``````[script.ps1' # 6\r\n# Finds '`[script.ps1' \u003c--- ???\r\n\u003e Get-Item './```````[script.ps1' # 7\r\n# Finds '```[script.ps1'\r\n\u003e Get-Item './````````[script.ps1' # 8\r\n# Error (The specified wildcard character pattern is not valid: ````[script.ps1)\r\n\u003e Get-Item './`````````[script.ps1' # 9\r\n# Finds '````[script.ps1'\r\n\u003e Get-Item './``````````[script.ps1' # 10\r\n# Finds '``[script.ps1' \u003c--- ???\r\n\u003e Get-Item './```````````[script.ps1' # 11\r\n# Error (Cannot find path 'C:\\Users\\roholt\\Documents\\Dev\\sandbox\\badnames\\`````[script.ps1' because it does not exist.)\r\n\u003e Get-Item './````````````[script.ps1' # 12\r\n# Error (The specified wildcard character pattern is not valid: ``````[script.ps1)\r\n```\r\n\r\nCases 0, 1, 3, 4, 5, 7, 8, 9, 11 and 12 make sense. Cases 2, 6 and 10 seem pretty strange to me.\r\n\r\n## Expected Behaviour\r\n\r\nCases 2, 6 and 10 should report an invalid wildcard pattern, like cases 0, 4, 8 and 12.\r\n\r\nTagging @JamesWTruher because we discussed this offline earlier.","author":{"url":"https://github.com/rjmholt","@type":"Person","name":"rjmholt"},"datePublished":"2018-10-11T18:19:50.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":13},"url":"https://github.com/7999/PowerShell/issues/7999"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:0db0ed3c-52c0-b322-eda7-f83be7d8b62d |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | D476:46803:11ADDD1:1978F67:6A58EC01 |
| html-safe-nonce | 1e2f586a4ac5574c4397d94cc35c4966764d563cdb10f2fed3b39e6df3872a41 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJENDc2OjQ2ODAzOjExQURERDE6MTk3OEY2Nzo2QTU4RUMwMSIsInZpc2l0b3JfaWQiOiI1MDk0ODU0NTEyMjczMzIwOTYxIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 6351f04674aa4eabb8809f607169e5836a989969e0e48a957166751fd03b7e6d |
| hovercard-subject-tag | issue:369245861 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/PowerShell/PowerShell/7999/issue_layout |
| twitter:image | https://opengraph.githubassets.com/733521c59f1bc81de25d0ab88b527a7cc855f51303cde45c0b256a586830c580/PowerShell/PowerShell/issues/7999 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/733521c59f1bc81de25d0ab88b527a7cc855f51303cde45c0b256a586830c580/PowerShell/PowerShell/issues/7999 |
| og:image:alt | Was investigating escaping a filename for PowerShell in PowerShell/PowerShellEditorServices#765 (comment). I created a directory with the following files: Mode LastWriteTime Length Name ---- ------... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | rjmholt |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5f2a0c7865178af3d91dd9f13b0cdfc3c73a2529c873d2780bb4c01271a57ec6 |
| turbo-cache-control | no-preview |
| go-import | github.com/PowerShell/PowerShell git https://github.com/PowerShell/PowerShell.git |
| octolytics-dimension-user_id | 11524380 |
| octolytics-dimension-user_login | PowerShell |
| octolytics-dimension-repository_id | 49609581 |
| octolytics-dimension-repository_nwo | PowerShell/PowerShell |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 49609581 |
| octolytics-dimension-repository_network_root_nwo | PowerShell/PowerShell |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 8aae7b8d6caacacf5c66eaeb2702d8dc88d85b4a |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width