2 spicalai spicalai 于 2017.09.20 10:39 提问

批处理如何访问又带中文又带空格的绝对路径的文件

如题

一个路径,有空格有中文,文件名是中文,且文件名里面带了空格

怎么访问到它?

具体的

我想做这个操作:

mv C:/中 国.txt C:/中国.txt

我试了一下加引号不行,加引号只对英文路径和文件名起作用。另外如果需要修改的文件在当前目录下,加引号也可以。

应该如何解决上面的问题

根本的,我是用python处理重命名一堆文件,用os.system()来调用批处理

谢谢

1个回答

eagle1024
eagle1024   2017.09.27 10:46

import os
filename_src=os.listdir(r'C:\test')[0]
filename_dst='中国.txt'
filename_src=os.path.join('C:\\test','"'+filename_src+'"')
filename_dst=os.path.join('C:\\test','"'+filename_dst+'"')
command = 'move '+filename_src+" "+filename_dst
print(filename_src)
print(filename_dst)
print(command)
os.system(command)

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
如何编写写一个带多参数的方法
//姑且设定输出一个人的姓名,性别,还有去过的城市~~ //类名很挫  别介意  有成果就行 MutableParameter.h - (void) MutableParameterTest:(NSString    *) name gender:(Boolean) gender, ...; MutableParameter.m - (void) MutablePar
.bat 文件中的相对路径和绝对路径问题
工作中遇到路径问题的总结:一般来说,批处理文件处理相对路径的时候,起始位置是bat文件所在的目录,比如在D:\XX目录下执行bat文件,所有相对目录的操作都会以D:\XX下执行。 例如: 打开当前路径下的文件夹: .\ 上一级路径: ..\
职场:如何带人又带心?
团队最重要的资产就是人才,有效凝聚人才、激发整体能力的最重要关键就是信任。成功的领导不是因为你有什么高明的技巧,而是属下相信你会是一个好主管,也相信这个团队会为了共同目标而努力。       领导其实就是人际关系的一种,它不是主管与属下之间的单向权力关系,而是相互影响的双向沟通过程。领导关乎的是人,而非工作。任何一种人际关系的延续,都必须以信任为前提。信任就好比是你个人的情感账户。当你
C++文件 输入时数字中掺杂字母
//L7_F0_P3.cpp #include #include using namespace std; int main() { ifstream ifs("L7_F0_P1.txt"); if( !ifs ) { cout << "Error opening file\n"; return 1; } int number; while( ifs >> number ) { // read
批处理文件 路径带空格问题
大多数人喜欢把程序装在D盘。对于开发人员而言。把vs装在d盘不是一个很好的选择。 有的时候涉及一些批处理程序的时候。往往要修改默认的vs目录。 但是写路径的的时候。D:\PRAGRAM FILES\.. 这种格式会执行错误。。 解决办法: 进入cmd 然后进入你需要的路径。(通过CD命令) 然后键入:debug命令 然后键入quit命令。 现在呈现在眼前的就是dos的短路径了。
gt701无线路由猫网卡驱动
gt701无线路由猫是一个很好的猫带网卡又带无线接入,请大家下载。
批处理打开软件并处理有空格的文件名
批处理 处理有空格的文件名
批处理不能识别带空格的路径
仔仔细细地按照说明配置了一个监控软件,怎么都运行不了,今天将已经配置好并可运行成功的例子考到我文件夹下,发现也运行不了,然后就发现我定义的路径:D:~~\configured code中间有空格,百度一下,发现,批处理不能识别这样的路径命令,空格去掉运行成功。 参考:批处理代码中间有空格怎么办   CMD命令输入带有空格的命令不被识别
如何让Window批处理文件可以支持带有空格的路径
平常工作中总是要运行一些SQL脚本,但是每次打开SQL Server Management Studio很麻烦,每次输SLQCMD命令也很麻烦,这种情况下如果能用一个批处理文件来自动执行就很方便了,见下面的例子 新建一个.bat文件然后输入下面的code @echo off SQLCMD -S %computername%\MyTest -i %~dp0\CleanDB.sql -d mas
批处理去除空格
去掉左侧空格1: @echo off set "str=   ab c&>!   "  for /f "tokens=*" %%i in ("%str%") do echo "☆%%i☆" pause 复制代码   去掉左侧空格2: @echo off set "str=   ab c&>!   "  :intercept if "%str:~0,1