Skip to content

Commit 963f76a

Browse files
Enhance argument handling in XcopyCommand
Escape quotes and special characters in arguments for xcopy command.
1 parent 734fba1 commit 963f76a

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

src/main/java/com/mycmd/commands/XcopyCommand.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,12 @@ public void execute(String[] args, ShellContext context) throws IOException {
3333

3434
if (os.contains("win")) {
3535
try {
36-
StringBuilder cmdBuilder = new StringBuilder("xcopy");
37-
for (String arg : args) {
38-
cmdBuilder.append(" \"").append(arg).append("\"");
36+
StringBuilder cmdBuilder = new StringBuilder("xcopy");
37+
for (String arg : args) {
38+
// Escape quotes and other special characters
39+
String escaped = arg.replace("\"", "\\\"");
40+
cmdBuilder.append(" \"").append(escaped).append("\"");
41+
}
3942
}
4043

4144
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/c", cmdBuilder.toString());

0 commit comments

Comments
 (0)