shelljs / shelljs/shx

Moving with glob pattern fails on Windows but works fine on Linux

Open
#226 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
1.9k
Forks
51
Avg merge
3d 2h
Merged PRs (30d)
1

Description

I have a part of a script which copies playwright tests artifacts from a temporary folder to a permanent one. The purpose is to copy all subdirectories from the test-results/ directory to the results/ directory.

shx mv test-results/** results/

When running on Linux it does not output anything and copies directories as expected.

On Windows it throws the following error:

mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-1.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-10.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-11.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-12.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-13.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-14.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-15.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-16.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-2.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-3.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-4.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-5.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-6.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-7.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-8.png
mv: no such file or directory: test-results/playwright-8247-monitor-co-76a6b-or---Connections-tab-8247-1-Chrome-Stable/test-failed-9.png
ERROR: "playwright:run2:8247" exited with 1.

I am using forward slashes on both but possibly on Windows these are not handled the same way?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing shx mv test-results/** results/ on Windows and inspect how the mv command handles the expanded glob and path separators. Done means the command moves the intended subdirectories without the reported missing-file errors while preserving the Linux behavior; the payload names no source files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
cli, operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.