Puncte:0

Modul Windows CLI de a copia în același director și de a schimba doar majusculele numelui fișierului?

drapel in

Am Windows 10 pro, cu NTFS. Cred că sistemul de fișiere ține pe deplin de majuscule și minuscule. Pot avea fișierul Bill_and_Ted.txt într-un director și pot scrie scripturi care să nu îl confunde cu bill_and_ted.txt. Aplicațiile Linux WSL care accesează directoarele NTFS sunt complet sensibile la majuscule.Dar se pare că utilitățile Windows se confundă.

Deci NTFS este probabil sensibil la majuscule, dar poate Windows nu este. Este posibil în Windows să creați două fișiere în același director care diferă doar în cazul ASCII?

Din diverse motive de dezvoltare a software-ului, aș dori să am fișierele Bill_and_Ted.txt și bill_and_ted.txt în același director și apoi să schimb conținutul. Dar până acum, Powershell Copy-Item și Windows xcopy refuză să copieze în același director atunci când numele fișierelor diferă doar în caz că. Nu reușesc cu „Fișierul nu poate fi copiat pe sine”

Există o modalitate încorporată de Windows de a copia în același director și de a schimba doar majusculele numelui fișierului?

Puncte:3
drapel cf

Acest lucru poate fi de ajutor.

https://superuser.com/a/412413/1176865

Accesați directorul și executați următoarea comandă:

pentru /f „Jetoane=*” %f în (‘dir /l/b/a-d’) do (redenumiți „%f” „%f”)

Iată defalcarea în cazul în care cineva dorește să modifice/îmbunătățească:

  • pentru /f - Pentru fiecare linie
  • „Jetoane=*” - Procesați fiecare articol din fiecare linie.
  • %f în (...) - %f este numele dvs. de variabilă pentru fiecare articol.
  • dir - listează fiecare fișier și subdirector dintr-un director.
  • /l - (parametru pentru dir) Folosește litere mici.
  • /b - (parametru pentru dir) Utilizează formatul complet, numai numele fișierelor/directoarelor, fără dimensiune, fără anteturi.
  • /anunț - (parametru pentru dir) Do nu listă directoare. (A reprezintă atribut, - reprezintă nu și d reprezintă director).
  • redenumește „%f” „%f”- redenumiți fișierul cu propriul nume, care este de fapt minuscule de dir comanda si /l combinaţie.
drapel in
Perfect! Mi-am șters răspunsul și l-am votat pozitiv pentru că este mai bine. Nu aveți nevoie de paranteza din jurul comenzii `rename` (și aș tasta `ren` pentru că sunt leneș).
another victim of the mouse avatar
drapel cf
mulțumesc că mi-ai analizat-o. adhd-ul meu a decis că am contribuit cu suficientă energie mentală. :P
Puncte:1
drapel za

Răspunsul scurt este că atâta timp cât utilizați Windows, nu va funcționa. API-ul Windows nu acceptă distincția între majuscule și minuscule.

in legatura cu : https://stackoverflow.com/questions/33998669/windows-ntfs-and-case-sensitivity

Puncte:0
drapel in

O soluție este să folosiți fsutil pentru a activa setCaseSensitiveInfo flag pe directorul care le conține. Deci, în cazul meu, am Set-Location în directorul de destinație, apoi am folosit:

Activați fișierul fsutil.exe setCaseSensitiveInfo (Get-Location).

Articolul HowToGeek care explică marcajul setCaseSensitiveInfo

Multumesc pentru acest răspuns stackoverflow!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.