Cmd Create A New Folder But "the Filename, Directory, Or Volume Syntax Is Incorrect"
I tried to use Python to run the following command lines. The first command line can always work, but the second one cannot and I don't know why. import os, sys os.system('IF EXIS
Solution 1:
this works by sheer luck:
os.system('IF EXIST C:\APC (echo 1) else (mkdir C:\APC)')
because the backslashes don't escape anything (\A
isn't an escape sequence)
But just paste the second command in a python REPL and see:
>>> 'IF EXIST C:\APC\3d (echo 1) else (mkdir C:\APC\3d)''IF EXIST C:\\APC\x03d (echo 1) else (mkdir C:\\APC\x03d)'
backslashed digits are interpreted as the actual byte value... Using raw string prefix fixes that:
>>> r'IF EXIST C:\APC\3d (echo 1) else (mkdir C:\APC\3d)''IF EXIST C:\\APC\\3d (echo 1) else (mkdir C:\\APC\\3d)'
but don't call system commands to test & create dirs. Use pure python to do that:
import os
d = r"C:\APC\3d"if os.path.exists(d):
print("exists")
else:
os.mkdir(d)
It's more readable, easier to debug, you benefit of python exceptions and makes your code more portable on other platforms (well, not with that hardcoded path of course)
Post a Comment for "Cmd Create A New Folder But "the Filename, Directory, Or Volume Syntax Is Incorrect""